为什么要使用克隆?
想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了,Java语言中克隆针对的是类的实例。如何实现对象克隆?
https://blog.csdn.net/moakun/article/details/82818047
1)实现Cloneable接口并重写clone()方法
2)实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。深拷贝和浅拷贝区别是什么?
- 浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝(例:assign())
- 深拷贝是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变,这就是深拷贝