在编写测试时,我遇到了克隆对象的要求。我找到了两个Apache-commons的Utill类,然后尝试找出应该使用哪一个,我试图通过阅读两个API文档来找到区别,但是没有找到应该在什么情况下使用哪个。
BeanUtils cloneBean() API doc
根据文档:
基于可用的属性getter和setter克隆bean,即使bean类本身没有实现Cloneable。
疑问:我应该在DTO克隆中使用它吗? SerializationUtils clone() API doc 根据文档:
使用序列化深度克隆对象。
这种方法比手动编写对象图中所有对象的克隆方法慢得多。但是,对于复杂的对象图或不支持深层克隆的对象,这可以作为简单的替代实现。当然,所有对象都必须是可序列化的。 疑问:我应该同时在DTO和实体对象中使用它吗?还是只用于实体对象?
基于可用的属性getter和setter克隆bean,即使bean类本身没有实现Cloneable。
疑问:我应该在DTO克隆中使用它吗? SerializationUtils clone() API doc 根据文档:
使用序列化深度克隆对象。
这种方法比手动编写对象图中所有对象的克隆方法慢得多。但是,对于复杂的对象图或不支持深层克隆的对象,这可以作为简单的替代实现。当然,所有对象都必须是可序列化的。 疑问:我应该同时在DTO和实体对象中使用它吗?还是只用于实体对象?