public class BeanCopierUtils extends Object
该类不支持不同对象中的List对象集合类型的属性的拷贝, 本质上对List是拷贝引用,即对List是弱拷贝,而不是深拷贝, 如果只是做对象拷贝,然后直接抛出这个对象给前台使用是没有问题的, 但是如果这个通过拷贝得到的对象要在代码中进行业务流转, 则会报java.lang.ClassCastException 类强转异常 因此,如果存在对象之间list属性的拷贝,建议采用BeanMapperUtils工具类
限定符和类型 | 类和说明 |
---|---|
static class |
BeanCopierUtils.GldGenerator |
static class |
BeanCopierUtils.NotNullConverter<X> |
构造器和说明 |
---|
BeanCopierUtils() |
限定符和类型 | 方法和说明 |
---|---|
static <X> X |
copyNotNullProperties(Object source,
X target)
只拷贝非空属性,对于同名不同类型的字段会执行转换,如果转换失败会抛出异常
|
static <X> X |
copyProperties(Object source,
X target)
拷贝所有属性,只会拷贝同名同类型的字段
|
static <X> X |
copyPropertiesSupportWrapperType(Object source,
X target)
拷贝所有属性,只会拷贝同名同类型的字段,支持包装类型转换的复制方法,如果包装类型为空,那么对于基本数值类型的变量,会用默认值
|
public static <X> X copyProperties(Object source, X target)
source
- 源对象target
- 目标对象public static <X> X copyNotNullProperties(Object source, X target)
source
- 源对象target
- 目标对象public static <X> X copyPropertiesSupportWrapperType(Object source, X target)
source
- 源对象target
- 目标对象