Rom*_*man 22 java generics collections
如何实现此方法:
List<Integer> toList(int[] integers) {
???
//return Arrays.asList(integers); doesn't work
}
Run Code Online (Sandbox Code Playgroud)
可能有一个内置的方法可以在某处执行此操作*(如您所注意,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为所需的每个自动装箱的原始类型编写一个单独的方法。
*如果没有,我真的很奇怪为什么没有。