0

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

我尝试过的是:

List<Ob> deepCopyListA = new LinkedList<Ob>(aList);

它似乎工作正常,但我只是想知道它是否实际上是在深度复制整个列表以及是否有更好的方法来做到这一点

*我不确定要发布什么代码,但基本上我有一个类,以及该类的许多实例作为另一个类中的列表

private List<Ob> aList;

public List<Ob> getaList() {
    List<Ob> deepCopyListA = new LinkedList<Ob>(aList);
    return deepCopyListA;
}
4

1 回答 1

0

您可以采用直接但脆弱的方法,将每个属性从旧对象手动复制到新对象中。或者您可以使用反射克隆对象(有些库会为您执行此操作)。

您可以在这篇文章中阅读有关各种方法和权衡的更多信息:Java:深度克隆/复制实例的推荐解决方案

于 2013-10-23T03:59:52.520 回答