假设我有一个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()
。会设置调用每个成员的克隆方法吗?
假设这是一个非常重要的问题(房屋'有'10套聚合复杂对象,而且每个'有'10套聚合复杂对象等等),有没有更好的方法实现Town
的克隆方法?
或者我只是花时间在子对象和子子对象上实现100 .clone()
个方法? (这会比在所有子对象上实现序列化并以这种方式执行更多或更少的工作吗?)
答案 0 :(得分:1)
您有几个选择:
Serializable
来执行此操作,该实例可以解码有关该对象的信息。更多信息:http://docs.oracle.com/javase/tutorial/jndi/objects/serial.html 有关Deep Copy库的更多信息:Java deep copy library