簡體   English   中英

Java ArrayList復制構造函數

[英]Java ArrayList copy constructor

我有一個帶有兩個私有成員變量的對象anObject

public class anObject {
    private String name;
    private ArrayList<String> myList = new ArrayList<String>();
}

我有一個構造函數:

public anObject() {
    name = "";
}

我有我的復制構造函數:

public anObject(anObject copy) {
this();
newObject(copy);
}

public void newObject(anObject copyTwo) {
    name = copyTwo.name;
    // How to deep copy an ArrayList?
}

但是,如何將copyTwo ArrayList的所有元素“深度復制”到我的this.myList

我已經看過SO上的其他問題,但是它們的ArrayList都包含對象,而我的僅包含String。 謝謝你的幫助!

創建一個新的引用列表,因為您的列表包含字符串並且字符串是不可變的,您可以執行以下操作:

List<String> copyString = new ArrayList<>(original);

您可以使用新集合進行深度復制。 新收藏集的更改不會影響先前的列表

List<String> copyTwo= new ARrayList<String>();
copyTwo.addAll(myList );

暫無
暫無

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

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