這個語法是做什么的,用方括號括住數字?new Integer[0];我在我維護的代碼庫中找到了它,但我找不到關于它的任何文檔。它是這樣使用的:Set<Form> forms = getForms();
List<Form> formsList = Arrays.asList(forms.toArray(new Form[0]))
2 回答

飲歌長嘯
TA貢獻1951條經驗 獲得超3個贊
它分配一個長度為零的數組;例如new Integer[0]
創建一個零長度的Integer
對象數組。
為什么要這么做?
好吧,請查看該方法的 javadoc form.toArray(T[])
。假設那是他們在這里form
的一些子類型。Collection
該方法的目的toArray
是將目標集合(例如您的)的元素復制form
到一個數組中:
如果參數數組足夠大以容納所有元素,則將它們復制到該數組中。結果將是參數數組。
如果參數數組太小,則分配一個新數組,其類型與參數數組相同,并且長度(剛好)足以容納元素。然后將元素復制到新數組中,并將其作為結果返回。
因此,代碼實際做的是將 的元素復制form
到合適大小的 an Integer[]
,然后包裝數組以提供 (fixed sized) List<Integer>
。然后可以將其傳遞給其他代碼,而不必擔心該代碼可能會更改原始form
集合。

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
與存儲字符串、整數、布爾值等值的傳統數組不同,對象數組存儲對象。數組元素存儲對象引用變量的位置
語法:Class obj[]= new Class[array_length]
添加回答
舉報
0/150
提交
取消