BeanUtils.copyProperties()与PropertyUtils.copyProperties()
BeanUtils.copyProperties()与PropertyUtils.copyProperties()
1 BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。
BeanUtils.copyProperties(A,B);是A中的值付给B
FinCpDocDO finCpDoc = finCpDocService.selectByDocNo(orderNo);
FinCpDocDto finCpDto = new FinCpDocDto();
if (finCpDoc == null){
throw new ServiceException("查无该订单" + "orderNo:" + orderNo);
}
try{
BeanUtils.copyProperties(finCpDoc, finCpDto);
2.package org.apache.commons.beanutils;(常用)
BeanUtils.copyProperties(A,B):是B中的值付给A
for(OboFeeDO feeDO : oboFeeList){
if(feeDO.getPayTime()!=null){
ErpOboFeeDto feeDto = new ErpOboFeeDto();
BeanUtils.copyProperties(feeDto, feeDO);
oboFeList.add(feeDto);
}
}
JAVA/294.html">http://www.itemperor.com/a/JAVA/294.html
总结:
通过反射将一个对象的值赋值个另外一个对象(前提是对象中属性的名字相同)。
BeanUtils.copyProperties(obj1,obj2);将obj2的值赋值给obj1。
如果2中实例obj2为空对象,即值new了他的实例并没有赋值的话obj1对应的属性值也会被设置为空置。
PropertyUtils的copyProperties()方法几乎与BeanUtils.copyProperties()相同,主要的区别在于后者提供类型转换功能,即发现两个JavaBean的同名属性为不同类型时,
在支持的数据类型范围内进行转换,BeanUtils 不支持这个功能,但是BeanUtils速度会更快一些。
原文链接:http://www.jxszl.com/biancheng/JAVA/446646.html