Java 陣列列表複製:了解引用行為
在 Java 中使用集合時,理解引用和賦值的行為至關重要。考慮一個例子,我們有一個 ArrayList 物件 l1 並將其引用指派給一個新變數 l2。
Java 中的引用賦值
在 Java 中,涉及物件的賦值操作簡單複製物件的引用,而不是物件本身。因此,當l1賦值給l2時,l1和l2都將指向同一個ArrayList物件。透過 l1 或 l2 所做的任何更改都將反映在兩個引用中。
範例插圖
在提供的程式碼片段中:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear();
使用l2 的參考清除l1 時,l1 參考也會受到影響。這表示 l1 和 l2 都指向同一個 ArrayList 物件。
Java 中的淺複製
建立ArrayList 物件的副本(也稱為淺表複製)複製),您可以使用帶有特定參數的ArrayList 建構函數:
List<Integer> newList = new ArrayList<>(oldList);
此方法建立一個新的ArrayList 對象,帶有來自oldList 引用的元素的副本。對 newList 的後續修改不會影響 oldList 引用,反之亦然。
透過了解引用的工作原理並利用淺複製等技術,您可以有效地操作 Java 中的集合,確保資料完整性並避免意外後果。
以上是引用和賦值如何影響 Java 中的 ArrayList 副本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!