我有两个私有成员变量的对象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)),你可以使用它。 –