指的是对对象的拷贝,而对象里面有两种数据类型,一种是基本数据类型,一种是引用数据类型。
1.浅拷贝
浅拷贝是仅拷贝对象成员变量的值,即是会拷贝基本数据类型的值,但对于引用数据类型,拷贝的是引用数据类型变量的地址值,而对于它指向堆中的那个对象并不会拷贝。
2.深拷贝
深拷贝是完全拷贝一个对象,即是会拷贝基本数据类型的值,对于引用数据类型,会拷贝它指向堆中的那个对象。(也就是说,深拷贝出来的对象,里面的引用数据类型所指向堆中的对象,与原来是不一样的。)
所以浅拷贝拷贝对象,如果其中有引用类型变量,其修改会影响原对象,而深拷贝则不会。因此深拷贝是安全的。