龙空技术网

java中深拷贝与浅拷贝的区别

三分浅薄 83

前言:

眼前你们对“浅拷贝和深拷贝的区别 java”都比较着重,各位老铁们都需要分析一些“浅拷贝和深拷贝的区别 java”的相关文章。那么小编在网络上搜集了一些关于“浅拷贝和深拷贝的区别 java””的相关内容,希望大家能喜欢,兄弟们快快来了解一下吧!

浅拷贝(Shallow Copy)

深拷贝与浅拷贝的区别,java中的数据类型有两种,一种基本数据类型,一种引用数据类型(数组,对象之类),传递也就有了两种,一种值传递,一种引用传递,浅拷贝中的值传递是直接将源对象的值复制一份给新对象,所以改变其中一个对象的值,另外一个对象不会改变,浅拷贝中的引用传递,只是复制了一份引用给新对象,但是两个对象的引用都是指向同一块内存地址的,所以一个对象的引用指向的数据发生改变,另外一个数据也会随之而改变。

深拷贝(Deep Copy)

深拷贝与浅拷贝唯一不同的一点就是将源对象中的引用数据类型分离开来,开辟一块新的内存地址,两个对象完全独立开来,没有引用指向同一块内存地址。

引用:

标签: #浅拷贝和深拷贝的区别 java