传入一个基本类型数组,如int数组时,整个数组会被当做一个对象,所以其生成的列表大小为1.
public class rongqi {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
List list = Arrays.asList(arr);
System.out.println(list.getClass());
Iterator iterator = list.iterator();
while (iterator.hasNext() ) {
System.out.println(iterator.next());
}
}
}
结果:
可见整个数组arr被视为了一个整体对象作为参数传入,生成的List实际上为一个数组对象集合,且该集合只有一个数组对象。
将数组改为包装类型的数组后,一切正常。
public class rongqi {
public static void main(String[] args) {
Integer[] arr = {1, 2, 3, 4, 5};
List list = Arrays.asList(arr);
System.out.println(list.getClass());
Iterator iterator = list.iterator();
while (iterator.hasNext() ) {
System.out.println(iterator.next());
}
}
}
输出结果: