深入浅出带你理解Java中数组的浅拷贝和深拷贝
深浅拷贝的区别
所谓浅拷贝,一般指的就是对象引用,例如
Teacher teacher = new Teacher();
teacher.setName("riemann");
teacher.setAge(28);
Teacher teacher1 = teacher;
这里的teacher1就是对teacher的浅拷贝。
而深拷贝,指的是实现了Cloneable接口的对象的拷贝, 拷贝出来的对象和原对象不是同一个。
总结一下:
| 深拷贝 | 浅拷贝 |
|---|---|
| 需要实现cloneable接口并重写clone方法 | 不需要 |
| == 判断时不同 | ==判断时相同 |
| equals方法判断相同 | equals方法判断相同 |
| 改变属性对被克隆对象没影响 | 改变克隆属性对克隆对象有影响 |
参考文章:
本文详细介绍了Java中的深拷贝和浅拷贝概念,包括它们的区别和实现方式。浅拷贝仅复制对象引用,深拷贝则创建完全独立的对象副本。当修改拷贝后的对象属性时,浅拷贝会直接影响原对象,而深拷贝不会。了解这些差异对于正确管理对象的复制至关重要。
792

被折叠的 条评论
为什么被折叠?



