一、前言
拷贝的目的就是为了获得相同的对象,当需要属性值相同的对象时,不需要再重新一步一步创建
在Java中的拷贝需要实现Clonable接口,重写Object的clone()方法;同时在Java中的拷贝也分为浅拷贝和深拷贝,其两者的区别就在于对 对象中引用数据类型的不同处理方法。即:
浅拷贝就是克隆出来的新对象与原对象完全一致,包括引用类型字段的值。这就会有一个现象,针对引用类型的字段,两个对象的引用地址一致,如此一来新旧对象之间强关联,修改其中一个对象的内容,极可能影响到另外一个的内容,此时可以使用BeanUtils.copyProperties方法
深拷贝是针对浅拷贝而言的,当一个对象中套一个对象,对对象中的对象中的字段值进行修改时为了不影响原对象中的数据
例如如下的代码:

当对象中套list集合,集合入参为对象时
BondTradeReqVo
本文探讨了Java中拷贝的概念,强调了实现Clonable接口和重写clone()方法的重要性。浅拷贝创建的对象与原对象相同,包括引用类型字段,可能导致对象间的强关联。而深拷贝则在对象内嵌套其他对象时,确保修改不会影响原始对象。文中通过代码示例展示了深拷贝的必要性,特别是在对象中包含List、HashMap或其他自定义对象时。
订阅专栏 解锁全文
1179

被折叠的 条评论
为什么被折叠?



