参考地址:https://blog.csdn.net/qq_40093255/article/details/115691423
在java里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化。而深拷贝则是拷贝了源对象的所有值,所以即使源对象的值发生变化时,拷贝对象的值也不会改变。
image.png

方式1:构造函数深拷贝

方式2:重载Clone()方法深拷贝

方式3:Apache Commons Lang序列化方式深拷贝

方式4:Gson序列化方式深拷贝

方式5:Jackson序列化方式

总结

image.png