这个语法是做什么的,用方括号括住数字?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
提交
取消