转http://www.cnblogs.com/baizhanshi/p/6096810.html
BeanUtils.copyPRoperties(source, target);
首先两者来源于同一个包:
12 | import 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到另一个空对象里面
新闻热点
疑难解答