【发布时间】:2020-07-30 07:31:47
【问题描述】:
ArrayList<String> list1=new ArrayList<String>(),list2 = new ArrayList<String>(),list3= new ArrayList<String>();
list1.add("Hey");
list1.add("there");
list1.add(0, "knock");
list1.add(0, "knock");
list2.addAll(list1);
list3.add("Vasvi");
list3.add(0, "I'm");
list2.addAll(2, list3);
String[] arr= new String[8];
arr[6]="Who're";
arr[7]="You?";
System.out.println("arr[6]="+arr[6]);
arr=list2.toArray(arr);
System.out.println("arr[6]="+arr[6]);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
输出:
arr[6]=是谁
arr[6]=null
敲 敲门
我是
瓦斯维
嘿
那里
空
你呢?
只要调用 toArray(arr) 方法,arr[6] 就会变为 null。我不明白为什么?
【问题讨论】:
-
你看过
toArray的实现了吗? -
根据我对 toArray() 的理解,这不应该发生。
-
在调用
toArray之前计算list2中元素的数量
标签: java arraylist data-structures