Java Arrays.as 基元数组类型的列表生成意外的列表类型
2022-09-02 01:54:20
可能的 Duplicate:
Arrays.asList() 不按预期工作?
显然,的返回类型是 。这对我来说似乎完全打破了。这是否与 Java 而不是自动框化基元类型的数组有关?Arrays.asList(new int[] { 1, 2, 3 });
List<int[]>
可能的 Duplicate:
Arrays.asList() 不按预期工作?
显然,的返回类型是 。这对我来说似乎完全打破了。这是否与 Java 而不是自动框化基元类型的数组有关?Arrays.asList(new int[] { 1, 2, 3 });
List<int[]>
问题是采用的参数为 。传递 时唯一适用的是 ,因为基元数组不会自动装箱到相应对象类型的数组中(在本例中)。Arrays.asList
T... array
T
int[]
int[]
Integer[]
所以你可以做.Arrays.asList(new Integer[] {1, 2, 3});
尝试:
Arrays.asList(new Integer[] { 1, 2, 3 });
注意:整数而不是整型。集合只能包含对象。不允许使用基元类型。 不是一个对象,而是一个对象,所以这就是为什么你得到一个元素的列表。int
int[]