【发布时间】:2015-03-26 15:40:33
【问题描述】:
大约 30 天后,我将参加 Java 竞赛。在比赛中,我们将获得一台装有 Eclipse 和 Java 1.7 API 的计算机。我正在练习上一年比赛的任务,我反复发现需要深度克隆一个列表。由于时间有限且只有 Java 1.7 API 可用,有没有办法做到这一点?
我已经看到了几种解决方案,包括
- 实现
Cloneable接口。 - 导入 Java 深度克隆库
- 为
List所持有的任何对象的类实现一个克隆构造函数,并遍历元素。
但是这些解决方案要么在比赛中对我不可用,要么太耗时。现在,我需要深度克隆还包含ArrayLists 的对象的ArrayList。
有谁知道这是否可能?感谢大家的帮助!
【问题讨论】:
-
如何将对象序列化为流并再次返回? (他们是否实现可序列化)例如:avajava.com/tutorials/lessons/…
-
你也想克隆元素吗?
-
是的,我正在寻找一种方法来克隆
ArrayList及其所有内容,以及内容的内容。 -
如果你必须深度克隆,你也必须克隆集合中的元素。当然,为了做到这一点,元素也必须是可克隆的。