我有一个链接列表,其中包含不可克隆的对象。深层复制列表的最有效方法是什么?
我尝试的是:
List<Ob> deepCopyListA = new LinkedList<Ob>(aList);
它似乎工作正常,但我只是想知道它是否真的是深度复制整个列表,以及是否有更好的方法
*我不确定要发布什么代码,但基本上我有一个类,以及该类的许多实例作为另一个类中的列表
private List<Ob> aList;
public List<Ob> getaList() {
List<Ob> deepCopyListA = new LinkedList<Ob>(aList);
return deepCopyListA;
}
您可以使用直接但脆弱的方法,手动将每个属性从旧对象复制到新对象中。或者,您可以使用反射克隆对象(有一些库可以为您执行此操作)。
您可以在这篇文章中阅读有关一些不同方法和权衡的更多信息: Java:深度克隆/复制实例的推荐解决方案