Java Arrays.as 基元数组类型的列表生成意外的列表类型

2022-09-02 01:54:20

可能的 Duplicate:
Arrays.asList() 不按预期工作?

显然,的返回类型是 。这对我来说似乎完全打破了。这是否与 Java 而不是自动框化基元类型的数组有关?Arrays.asList(new int[] { 1, 2, 3 });List<int[]>


答案 1

问题是采用的参数为 。传递 时唯一适用的是 ,因为基元数组不会自动装箱到相应对象类型的数组中(在本例中)。Arrays.asListT... arrayTint[]int[]Integer[]

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


答案 2

尝试:

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

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