[Java-基础] 深拷贝和浅拷贝
2026年3月16日小于 1 分钟
[Java-基础] 深拷贝和浅拷贝
深拷贝和浅拷贝的区别?
- 浅拷贝:创建一个新对象,但新对象中的 引用类型字段 仍然指向原对象的引用。
- 深拷贝:创建一个新对象,并且新对象中的 引用类型字段 也会被复制,指向新的对象。
实现深拷贝的三种方法是什么?
实现 Cloneable 接口并重写 clone() 方法
- 需要实现
Cloneable接口,并重写clone()方法。 并且通过递归克隆引用类型字段来实现深拷贝。
使用序列化和反序列化
- 通过将对象序列化成字节流,然后再反序列化成对象实现深拷贝。需要实现
Serializable接口。
手动递归复制
- 新建一个新对象,并手动递归复制。