什么是浅拷贝和深拷贝?

2019-11-23  本文已影响0人  ip小怪兽

在Java中,除了基本数据类型之外,还存在类的实例对象这个引用数据类型,而一般使用 “=”号做赋值操作的时候,对于基本数据类型,实际上是拷贝的它的值;但是对于对象而言,其实赋值的只是这个对象的引用,将原对象的引用(内存地址)传递过去,他们实际还是指向的同一个对象。

而浅拷贝和深拷贝就是在这个基础上做的区分。如果在拷贝这个对象的时候,只对基本数据类型进行了拷贝,而对引用数据类型只是进行引用(内存地址)的传递,而没有真实的创建一个新的对象,则认为是浅拷贝。反之,在对引用数据类型进行拷贝的时候,创建了一个新的对象,并且复制其内的成员变量,则认为是深拷贝

简单来说:

上一篇 下一篇

猜你喜欢

热点阅读