21

可能重复:
Arrays.asList() 不能正常工作?

显然返回类型Arrays.asList(new int[] { 1, 2, 3 });List<int[]>。这对我来说似乎完全崩溃了。这与 Java 不是自动装箱原始类型数组有关吗?

4

2 回答 2

10

问题是它Arrays.asList需要一个参数T... array。唯一适用于T传递int[]is int[],因为基元数组不会自动装箱为相应对象类型的数组(在这种情况下Integer[])。

所以你可以做到Arrays.asList(new Integer[] {1, 2, 3});

于 2011-01-06T17:15:17.717 回答
5

尝试:

Arrays.asList(new Integer[] { 1, 2, 3 });

注意整数而不是int。集合只能包含对象。不允许使用原始类型。int不是一个对象,而是一个对象,int[]所以这就是为什么你会得到一个包含一个元素的列表。

于 2011-01-06T17:08:41.910 回答