【发布时间】:2014-06-26 13:38:29
【问题描述】:
假设我有一个类似的 java 对象(只是作为一个简单的例子)
class Town{
Public String name;
Public Set<Business> Businesses;
Public Set<Person> people;
Public Set<House> houses;
//...
}
房屋、人、企业等是复杂的对象,这些对象又具有自己的对象,也有自己的对象等——有些具有组合关系,有些具有聚合类型关系。
现在,我需要在 Town 类中添加一个clone 方法,我有两个问题:
如何克隆
houses集?我只是实现House.clone()并调用houses.clone()。 set 会调用每个成员的 clone 方法吗?假设这是一个不平凡的问题(房屋“有”10 组聚合的复杂对象,并且每个“有”10 组聚合的复杂对象等等),有没有更好的方法来实现
Town的克隆方法?
或者我是否只需要花时间在子对象和子子对象等上实现 100 个.clone() 方法? (这会比在所有子对象上实现序列化并这样做更有效吗?)
【问题讨论】: