我们应该使用clone还是BeanUtils.copyProperties以及为什么

我们应该使用clone还是BeanUtils.copyProperties以及为什么,第1张

我们应该使用clone还是BeanUtils.copyProperties以及为什么

Josh
Bloch提供了一些相当不错的参数(包括您提供的参数),它们断言了

Cloneable
从根本上来说是有缺陷的,而偏向于使用复制构造函数。看这里。

我还没有遇到用于复制不可变对象的实际用例。您出于特定原因而复制对象,大概是为了将一组可变对象隔离到单个事务中进行处理,从而确保在该处理单元完成之前,不会有任何更改。如果它们已经是不可变的,则引用与副本一样好。

BeanUtils.copyProperties
通常是一种不那么麻烦的复制方式,而无需更改要支持的类,并且它在组合对象方面提供了一些独特的灵活性。

也就是说,

copyProperties
并不总是一刀切。在某些时候,您可能需要支持包含具有专用构造函数但仍然可变的类型的对象。您的对象可以支持内部方法或构造函数来解决这些异常,也可以将特定类型注册到某个外部工具中进行复制,但它甚至无法到达某些地方
clone()
。很好,但仍有局限性。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5475633.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存