我现在有如下这几个对象:
class A {
private Long id;
private List listB;
private D d;
......
}
class B {
private Long id;
private A a;
private List listC;
......
}
class C {
private Long id;
private B b;
......
}
class D {
private Long id;
private A a;
......
}
现在我希望将A对象进行深拷贝,将A对象下的所有属性都做一个副本出来,但是ID不要复制。
我现在的想法是:
1.将每个对象clone出来一个副本,然后将id栏位置空。
2.或者对每个对象做一个构造函数,如:
public A (A a){
this.xxx = a.xxx;
......
}
然后将每个对象通过构造函数来构一个新的对象出来,除了ID栏位。
但是这样做就需要写大篇的代码,请问大家有没有什么比较简单的方法来实现这个功能?