当我这样做,为什么Java不autobox INT []为整数[]
arrayList1
- 包含一个元素,它是一个int[]
。arrayList2
- 不编译(错误:构造ArrayList<Integer>(List<int[]>)
是不确定的)arrayList3
- 包含7个元素,它们是Integer
对象
下面的代码:
int[] intArray = new int[]{2,3,4,5,6,7,8};
ArrayList arrayList1 = new ArrayList(Arrays.asList(intArray));
ArrayList<Integer> arrayList2 = new ArrayList<Integer>(Arrays.asList(intArray));
Integer[] integerArray = new Integer[]{2,3,4,5,6,7,8};
ArrayList<Integer> arrayList3 = new ArrayList<Integer>(Arrays.asList(integerArray));
问题: 为什么编译器不能自动将int[]
中的元素设置为Integer
以及创建一个ArrayList<Integer>
?这背后的原因是什么?这是我的愚蠢或其他原因?
非常感谢你Rohit。得到它了! – namalfernandolk
@NamalFernando不客气:) –