Java 使用大量其他类复制对象

Java 使用大量其他类复制对象,java,object,clone,Java,Object,Clone,假设我有一个类AntHill,它需要被克隆,这样就可以在不影响克隆的情况下修改原始类。但是,类AntHill包含对相互引用的Ants的引用。您建议我如何在不序列化和反序列化的情况下克隆“AntHill”对象?速度是一个优先事项。我通过创建一个新蚂蚁到旧蚂蚁的地图、克隆所有东西和更新引用来解决这个问题。然而,我想知道是否有一个更简单的解决方案。您是否考虑过提供一个代理视图或一个替代的实现,不需要操作改变状态的方法?使用AntHill和Ant对象的客户机不需要知道这样的代理或实现是否存在,但如果他们

假设我有一个类
AntHill
,它需要被克隆,这样就可以在不影响克隆的情况下修改原始类。但是,类
AntHill
包含对相互引用的
Ant
s的引用。您建议我如何在不序列化和反序列化的情况下克隆“AntHill”对象?速度是一个优先事项。

我通过创建一个新蚂蚁到旧蚂蚁的地图、克隆所有东西和更新引用来解决这个问题。然而,我想知道是否有一个更简单的解决方案。您是否考虑过提供一个代理视图或一个替代的实现,不需要操作改变状态的方法?使用
AntHill
Ant
对象的客户机不需要知道这样的代理或实现是否存在,但如果他们试图更改它,则不会发生任何事情。可能只是在日志中删除一条消息,明确说明尝试的更改已被忽略。问题是我需要更改两个
Anthill
s中的
Ant
s,而不影响另一个
Anthill
s。