浅拷贝和深拷贝

浅拷贝

对于对象或数组类型,当我们将a赋值给b,然后更改b中的属性,a也会随着变化。

也就是说,a和b指向了同一块堆内存,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝。

深拷贝

那么相应的,如果给b放到新的内存中,将a的各个属性都复制到新内存里,就是深拷贝。

也就是说,当b中的属性有变化的时候,a内的属性不会发生变化。

参考链接: