簡體   English   中英

Java - 復制arraylist對象

[英]Java - copying arraylist objects

我試圖將arraylist的內容復制到另一個對象。 我嘗試通過以下方式初始化新的ArrayList對象

newArrList.addAll(oldArrList);

newArrList = new ArrayList(oldArrList);

但每次我對其中一個數組列表進行更改時,該值也會在另一個ArrayList中更改。

有人可以告訴我如何避免這種情況。

謝謝。

ArrayList只包含對象的引用 - 而不是對象本身。 將一個列表的內容復制到另一個列表時,您將復制這些引用。 這意味着兩個列表將引用相同的對象。

我懷疑當你說你對其中一個列表進行更改時,你實際上意味着你正在改變列表引用的一個對象。 這是可以預料的。

如果希望列表具有對獨立對象的引用,則在將對象從一個列表復制到另一個列表時,需要對這些對象進行深層復制 具體如何工作將取決於您正在復制的對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM