[英]Copy constructor of ArrayList<ArrayList<String>> not Working Java
[英]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.