在Java中将int []转换为List <Integer>的最佳方法是什么?

Rom*_*man 22 java generics collections

可能重复:
如何在Java中从数组(T [])创建ArrayList(ArrayList <T>)

如何实现此方法:

List<Integer> toList(int[] integers) {
    ???
    //return Arrays.asList(integers); doesn't work
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*Tao 6

可能有一个内置的方法可以在某处执行此操作*(如您所注意,Arrays.asList它将无法正常运行,因为它期望使用Integer[]而不是int[])。

我不太了解Java库,无法告诉您它在哪里。但是自己编写非常简单:

public static List<Integer> createList(int[] array) {
    List<Integer> list = new ArrayList<Integer>(array.length);
    for (int i = 0; i < array.length; ++i) {
        list.add(array[i]);
    }
    return list;
}
Run Code Online (Sandbox Code Playgroud)

显然,这样做的一个缺点是您不能一概而论。您必须createList为所需的每个自动装箱的原始类型编写一个单独的方法。

*如果没有,我真的很奇怪为什么没有。