BeanUtils与PropertyUtils的copyProperties方法的差别

本文探讨了BeanUtils和PropertyUtils中copyProperties方法的区别。当源对象的int属性值为null时,BeanUtils会将这些类型的值赋为0或0.0,而PropertyUtils则保持null不变。测试涉及User和UserVO类,展示了不同工具类在处理null值时的行为差异,提醒开发者根据需求选择合适的方法。
摘要由CSDN通过智能技术生成

1. copyProperties

        org.apache.commons.beanutils包中有两个工具类,BeanUtils与PropertyUtils,这两个工具类中各自有一个copyProperties(Object  dest, Object orig)方法,这两个方法可以将两个对象当中相同的属性的值由源对象赋值至目标对象中。用到这个类的场景一般是由前台传到后台的一个包装类,将这个包装类的值copy到一个实体对象中,由这个实体对象写入数据库表,可以省去多行get与set方法。

 

2. BeanUtils与PropertyUtils的copyProperties方法的差别

       这两个工具类当中的copyProperties方法的方法名、参数,都一样,所使用到的场景也类似,它们之间的差别在于源对象中int、值为null的时候。以下用代码说明,有一个User类,及一个继承自该类的UserVO,这要做的事,是将User当中的属性copy到UserVO当中。

 

3. 测试代码

3.1 实体类

        下面有两个实体类,其中一个实体类继承自另一个实体类,测试代码要做的事情就是将父类属性的值赋到子类当中(由于篇幅原因,省去get、set与toString方法)。

import java.util.Date;

public class User {
	private Long id;
	
	private String name;
	
	private Integer sex;
	
	private Double age;
	
	private Date birthDay;
}
public cl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值