首页 > 编程 > Java > 正文

java 类/List之间的直接的copy

2019-11-06 06:31:38
字体:
来源:转载
供稿:网友

转http://www.cnblogs.com/baizhanshi/p/6096810.html

BeanUtils.copyPRoperties(source, target);

BeanUtils.copyProperties()方法和PropertyUtils.copyProperties()的区别

首先两者来源于同一个包:

12import org.apache.commons.beanutils.BeanUtils;import org.apache.commons.beanutils.PropertyUtils;

千万不要导包错误,否者会报异常。

BeanUtils提供对java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。

以下是几点要求及说明:

1、 通过反射将一个对象的值赋值个另外一个对象(前提是对象中属性的名字相同)。

2、 BeanUtils.copyProperties(obj1,obj2); 经常闹混不知道是谁给谁赋值,无意中先到"后付前"这个词来帮助自己记忆这个功能。即将obj2的值赋值给obj1。

3、 如果2中实例obj2为空对象,即值new了他的实例并没有赋值的话obj1对应的属性值也会被设置为空置。

4、BeanUtils与PropertyUtils对比(这里对比copyProperties方法)

PropertyUtils的copyProperties()方法几乎与BeanUtils.copyProperties()相同,主要的区别在于后者提供类型转换功能,即发现两个JavaBean的同名属性为不同类型时,在支持的数据类型范围内进行转换,PropertyUtils不支持这个功能,所以说BeanUtils速度会更快一些,使用更普遍一点,犯错的风险更低一点。

举个例子:创建两个对象,然后 给一个对象赋值 最后把已经赋值的对象 copy到另一个空对象里面


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表