zig*_*ggy 7 java generics collections
在以下示例中:
class ZiggyTest2{
public static void main(String[] args){
int[] a = { 1, 2, 3, 4,7};
List<Integer> li2 = new ArrayList<Integer>();
li2 = Arrays.asList(a);
}
}
Run Code Online (Sandbox Code Playgroud)
编译器抱怨int []和java.lang.Integer不兼容.即
found : java.util.List<int[]>
required: java.util.List<java.lang.Integer>
li2 = Arrays.asList(a);
^
Run Code Online (Sandbox Code Playgroud)
如果我更改List定义以删除泛型类型,它工作正常.
List li2 = new ArrayList();
Run Code Online (Sandbox Code Playgroud)
List<Integer>使用Arrays.asList()从int数组创建对象?谢谢
Java不支持将整个基元数组自动装入其对应的包装类中.解决方案是制作您的数组类型Integer[].在这种情况下,每个int都被Integer单独装箱.
int[] a = { 1, 2, 3, 4, 7 };
List<Integer> li2 = new ArrayList<Integer>();
for (int i : a) {
li2.add(i); // auto-boxing happens here
}
Run Code Online (Sandbox Code Playgroud)