我知道可能已经有人问过了,但我的问题有所不同。我已经搜索过,我知道 java 方法object.clone()使用浅拷贝,这意味着复制引用而不是实际对象。假设我有一个狗类
Class Dog{
public Dog(String name, DogTail tail, DogEar ear){
this.name = name;
this.tail = tail;
this.ear = ear;
}
}
DogTail t = new DogTail();
DogEar ear = new DogEar();
Dog dog1 = new Dog("good", t,ear);
假设我想获得 dog1 的副本。
狗 dognew = dog1.clone();
如果此clone()方法使用浅拷贝,则意味着复制引用。因此,如果我更改上面创建的 t 对象或 ear 方法,它会在 dognew 对象中更改,反之亦然。这个克隆好不好?这个问题诞生是因为有人说创建一个巨大的对象比克隆更糟糕,因为您在使用clone()方法的同时节省了性能。
12345678_0001
蓝山帝景
相关分类