如果链表中存储的对象不可克隆,如何创建链表的深层副本



我有一个链接列表,其中包含不可克隆的对象。深层复制列表的最有效方法是什么?

我尝试的是:

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:深度克隆/复制实例的推荐解决方案

相关内容

  • 没有找到相关文章

最新更新