import java.util.Arrays;
import java.util.List;
public class Demo {
public static void main(String[] args) {
int[] arr = {1,2,3};
List<int[]> l1 = Arrays.asList(arr);
for (int[] is : l1) {
for (int i : is) {
System.out.println(i);
}
}
Integer[] arr2 = {3,4,5};
List<Integer> l2 = Arrays.asList(arr2);
for (Integer integer : l2) {
System.out.println(integer);
}
}
}
为什么用int存的时候list泛型上必须为int[],而用Integer的时候就不用呢?看了下asList的源代码,发现还是不懂。
------解决方案--------------------
泛型必须是对象类型的(new出来的),int是基本类型,int[]是数组(可以new int[n]),为对象类型。或者说,泛型T必须是Object的子类。