Java数组。基元数组类型上的asList生成意外的列表类型
Possible Duplicate:
Arrays.asList() not working as it should?
显然Arrays.asList(new int[] { 1, 2, 3 });
的返回类型是List<int[]>
。对我来说,这似乎是完全失败的。这是否与Java有关,而不是与基本类型的自动装箱数组有关
你可以在下面搜索框中键入要查询的问题!
Possible Duplicate:
Arrays.asList() not working as it should?
显然Arrays.asList(new int[] { 1, 2, 3 });
的返回类型是List<int[]>
。对我来说,这似乎是完全失败的。这是否与Java有关,而不是与基本类型的自动装箱数组有关
# 1 楼答案
试试看:
注意Integer而不是int。集合只能包含对象。不允许使用基元类型
int
不是一个对象,但是int[]
是,所以这就是为什么你得到一个元素的列表# 2 楼答案
问题是
Arrays.asList
的参数为T... array
。传递int[]
时唯一适用的T
是int[]
,因为原语数组不会自动装箱到相应对象类型的数组(在本例中为Integer[]
)所以你可以做
Arrays.asList(new Integer[] {1, 2, 3});