可能重复:
Arrays.asList() 不能正常工作?
显然返回类型Arrays.asList(new int[] { 1, 2, 3 });
是List<int[]>
。这对我来说似乎完全崩溃了。这与 Java 不是自动装箱原始类型数组有关吗?
可能重复:
Arrays.asList() 不能正常工作?
显然返回类型Arrays.asList(new int[] { 1, 2, 3 });
是List<int[]>
。这对我来说似乎完全崩溃了。这与 Java 不是自动装箱原始类型数组有关吗?
问题是它Arrays.asList
需要一个参数T... array
。唯一适用于T
传递int[]
is int[]
,因为基元数组不会自动装箱为相应对象类型的数组(在这种情况下Integer[]
)。
所以你可以做到Arrays.asList(new Integer[] {1, 2, 3});
。
尝试:
Arrays.asList(new Integer[] { 1, 2, 3 });
注意整数而不是int。集合只能包含对象。不允许使用原始类型。int
不是一个对象,而是一个对象,int[]
所以这就是为什么你会得到一个包含一个元素的列表。