Java ArrayList 賦值中的物件引用
當ArrayList l1 被賦值給新的參考l2 時,l1 和l2 不會指向不同的ArrayList 物件。相反,l2 接收與 l1 相同的 ArrayList 物件的參考。這稱為淺複製。
透過 l1 或 l2 修改列表物件將反映在兩個引用中。如範例所示:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear();
l1 和 l2 都引用同一個對象,因此透過 l2 清除清單也會影響 l1。
要建立 ArrayList 物件的副本,應建立包含原始元素副本的新清單。實現此目的的一種方法是使用ArrayList(Collection extends E> c) 建構函數,其中c 是原始集合:
List<Integer> newList = new ArrayList<>(l1);
這將建立一個新的ArrayList 對象,其中包含單獨的引用和副本來自l1 的元素。
以上是將 ArrayList 指派給新引用如何影響原始物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!