BeanUtils.copyProperties 如果Integer 或Long 为null 默认赋值0

转自:http://blog.csdn.net/linminqin/article/details/7929863

BeanUtils.copyProperties(A,B);

如果B中的Integer类型的数据是null的,那么通过这个方法复制给A后,这个null的Integer数据会变成0。

也就是它有自己的规则,如果发现Integer类型的数据如果是null的,它会自作多情的给个默认值!

这个自作多情是很让开发人员反感的!比如Integer类型的数据=null是一个逻辑业务,但是经过复制后之前的业务逻辑就不执行了!!!

 

 

解决方法:使用PropertyUtils.copyProperties(A,B),注:数据类型里面有data类型的可能会存在问题

 

详情:http://hi.baidu.com/yljf1314/item/27c1d52dfa76c598b7326389

 

 

你可能感兴趣的:(copyProperties)