可能重复:
Arrays.asList() not working as it should?爪哇Arrays.asList上基本数组类型产生意外列表类型
显然的Arrays.asList(new int[] { 1, 2, 3 });
返回类型为List<int[]>
。这似乎完全打破了我。这是否与Java没有自动装配原始类型的数组有关?
可能重复:
Arrays.asList() not working as it should?爪哇Arrays.asList上基本数组类型产生意外列表类型
显然的Arrays.asList(new int[] { 1, 2, 3 });
返回类型为List<int[]>
。这似乎完全打破了我。这是否与Java没有自动装配原始类型的数组有关?
尝试:
Arrays.asList(new Integer[] { 1, 2, 3 });
注整数代替INT。集合只能包含对象。没有原始类型是允许的。 int
不是一个对象,但int[]
是,所以这就是为什么你有一个元素的列表。
问题是Arrays.asList
的参数为T... array
。当您通过int[]
时,唯一适用的T
为int[]
,因为基元数组不会自动复制到相应对象类型的数组(本例中为Integer[]
)。
所以你可以做Arrays.asList(new Integer[] {1, 2, 3});
。
或简单地`Arrays.asList(1,2,3);` – Kevin 2016-02-10 02:57:22
int不是一个Object,但是int []是。 – 2011-01-06 17:11:34