我明白浅拷贝和深拷贝之间的区别,但我真的不明白在什么情况下更喜欢浅拷贝。
如果我没记错的话,浅拷贝会创建值类型的新副本并简单地复制引用类型的地址,这样它们就指向同一个对象,对吗?为什么我会想要这种效果?
最佳答案
实际上,浅拷贝是最省力、做得更少的方法。它特别适用于共享最佳的不可变对象。
不可变对象(immutable对象)没有内部状态,无法更改,只能将变量设置为另一个值。
在 java 中 String
和 BigDecimal
是不可变的。
不可变对象(immutable对象)也可以更好地利用线程。
对于可变类,您可能对写时复制数据结构感兴趣,在写入一个变量之前发生共享。
关于reference - 我什么时候使用浅拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23044102/