Long[] myArr = new Long[size];
// Code to store values in myArr
List<Long> myList = new ArrayList<Long>();
// Code to store values in myList
myList.addAll(Arrays.asList(myArr));
myArr = null;
Arrays.asList()
的文档说返回的列表由原始数组支持,对列表中元素的更改将通过&#34;写入&#34;到原始数组。我想知道将myArr
设置为null
,是否会删除通过myArr
创建的列表元素?
我猜它不会因为我只是将引用变量设置为null
而原始数组仍然存在于由myList
引用的内存中。我这么想是对的吗?
答案 0 :(得分:3)
List.addAll()
方法将所有元素添加到其内部数据结构(在本例中为数组)。 myArr
没有任何突变会对myList
中的值产生任何影响。
答案 1 :(得分:2)
你是对的。
myArr = null
更改引用,而不是数组本身。