"景先生毕设|www.jxszl.com

BeanUtils.copyProperties()与PropertyUtils.copyProperties()

2023-09-12 15:40编辑: www.jxszl.com景先生毕设

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