变量的拷贝

变量的拷贝

注意

Java深拷贝和浅拷贝不止存在引用类型,也包括基本数据类型。

引用拷贝

拷贝的对象是内存地址。打个比方就是买一个新车牌,但是上面的号码是一样的
file

浅拷贝

拷贝的对象是目标的属性。打个比方就是买一个新车牌,上面的号码(基本类型)是不一样的,但是所有人(引用类型)是一样的
如果属性是基本类型(int,double,long,boolean等),拷贝的就是基本类型的值;
如果属性是引用类型,拷贝的就是内存地址(即复制引用但不复制引用的对象),因此如果其中一个对象改变了这个地址,就会影响到另一个对象。
file

深拷贝

深拷贝:在对引用数据类型进行拷贝的时候,创建了一个新的对象,并且复制其内的成员变量。
打个比方就是买一个新车牌,上面的号码(基本类型)是不一样的,也是所有人(引用类型)是不一样的
file

引用资料

5张图搞懂Java引用拷贝、深拷贝、浅拷贝