可能重复:
Arrays.asList() not working as it should?
How to convert int[] into List<Integer> in Java?
或者我必须将int []重构为Integer []?
答案 0 :(得分:2)
您不能拥有List<int>
Arrays.asList(array);
将返回类型为T(传递数组)的List
您可以拥有类似
的内容 Integer[] a = new Integer[]{1,2,3};
List<Integer> lst = Arrays.asList(a);
答案 1 :(得分:2)
你可以这样做
Integer[] a ={1,2,4};
List<Integer> intList = Arrays.asList(a);
System.out.println(intList);
答案 2 :(得分:1)
Arrays.asList(array)
会在数组上返回 List-type 视图。因此,您可以使用List
接口来访问java原语的包装数组的值。
现在如果我们传递一个java对象和一个java原始值数组会发生什么?该方法采用可变数量的java对象。 java原语是不是对象。 Java可以使用自动装箱来创建包装器实例,但在这种情况下,它会将数组本身作为java对象。所以我们最终会这样:
List<Integer> list1 = Arrays.asList(new Integer[]{1,2,3}));
List<int[]> list2 = Arrays.asList(new int[]{1,2,3}));
第一个集合包含整数值,第二个集合包含int[]
数组。这里没有自动装箱。
所以如果你要将一个java原语数组转换为List
,你不能使用Arrays.asList
,因为它会只需返回一个只包含一个项目的List
:数组。
答案 3 :(得分:0)
编辑:
从develman下面的评论中,java 6支持为同一方法返回List<>
个对象
老答案:
Arrays.asList(array)
会返回java.util.List
个对象。
答案 4 :(得分:0)
如果你有一个整数数组,那么你可以使用Arrays.asList()来获得一个整数列表:
Integer[] inters = new Integer[5];
List<Integer> ints = Arrays.asList(inters);