我有兩個私有成員變量的對象anObject
:Java的ArrayList的拷貝構造函數
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?
}
但是,我怎樣才能將我的ArrayList的所有元素「深度拷貝」到copyTwo
,我的this.myList
?
我已經看過關於SO的其他問題,但他們的ArrayList都包含對象,而我的只是包含字符串。謝謝你的幫助!
是什麼讓你覺得'String'不是一個對象? –
如果你想爲你的列表做一個深層拷貝,你只需要在你的列表中使用一個foreach –
'ArrayList'有一個[拷貝構造函數](https://docs.oracle.com/javase/7/docs/api/java/ util/ArrayList.html#ArrayList(java.util.Collection)),你可以使用它。 –