Java中的浅拷贝与深拷贝

参考:

https://www.cnblogs.com/xuanxufeng/p/6558330.html

https://www.cnblogs.com/shakinghead/p/7651502.html

https://www.cnblogs.com/JamesWang1993/p/8526104.html

总结:

基本类型的 = 是值拷贝,也就是深拷贝;

引用类型(数组、集合、一切类对象)的clone()方法默认是浅拷贝,只拷贝了引用地址,都指向同一空间。

要实现深拷贝:实现Cloneable接口,重写clone方法,在方法中进行深拷贝的代码编写,即:根据对象的引用地址所执行的内容,新建一个新的引用对象,将原对象所引用的对象内容复制过来。其中一个方式就是:使用对象序列化,将原对象“搬运”过来。

原文地址:https://www.cnblogs.com/ygj0930/p/13554780.html