PropertyUtils.copyProperties和BeanUtils.copyProperties使用区别
来源:互联网 发布:0基础学通c语言 编辑:程序博客网 时间:2024/06/05 06:24
位于org.apache.commons.beanutils包里面的这两个参数拷贝方法可以复制一个对象中相同名字的参数值到另一个对象,能简化很多代码,但是这两个copy方法使用起来有很大区别。
不讨论原理,只说实际开发中BeanUtils要比PropertyUtils好用很多,刚开始我用的PropertyUtils来拷贝参数,遇到一个大坑。当遇到dest中参数是java.util.Date类型,orig参数类型是java.lang.String类型时,使用PropertyUtils会报错,查了一些资料,发现PropertyUtils有自动类型转换功能,而java.util.Date恰恰是其不支持的类型;
也就是说,在自动转换类型时,报错了。
我也查了一些解决办法,大概就是重写PropertyUtils的copy方法,使其支持java.util.Date,不过我觉得日期转换有多种格式需求,不能仅仅转成一个yyyy-MM-dd格式,所以我认为这种方法复杂并且有缺陷。
而BeanUtils没有自动转换功能,遇到参数名相同,类型不同的参数不会进行赋值。所以在使用完BeanUtils的copy方法后,手工再把类型不同的参数处理下就行了。
网上有说BeanUtils遇到java.util.Date类型也会报错,实际开发环境jdk1.7,完全正常,没有错误。
所以开发中,我推荐使用
阅读全文
0 0
- PropertyUtils.copyProperties和BeanUtils.copyProperties使用区别
- PropertyUtils.copyProperties和BeanUtils.copyProperties使用区别
- BeanUtils.copyProperties&&PropertyUtils.copyProperties
- BeanUtils.copyProperties()方法和PropertyUtils.copyProperties()的区别 [转]
- BeanUtils.copyProperties()与PropertyUtils.copyProperties()
- BeanUtils.copyProperties 与 PropertyUtils.copyProperties 用法及区别
- BeanUtils.copyProperties 与 PropertyUtils.copyProperties 用法及区别
- BeanUtils.copyProperties 与 PropertyUtils.copyProperties 用法及区别
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别[转载]
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别(转)
- BeanUtils.copyProperties 与 PropertyUtils.copyProperties 用法及区别
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别[转载]
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
- 总结一下C++与C#之间的区别
- node npm cnpm 全局安装淘宝NPM 镜像
- Material Design 之 Toolbar 开发实践总结
- 「PayPal 黑帮」老大 Peter Thiel
- [P1967][NOIP2013]货车运输
- PropertyUtils.copyProperties和BeanUtils.copyProperties使用区别
- 修改meta标签
- 常用git命令(包含从一个远程仓库拉取更新同步到另外一个远程仓库)
- onActivityResult不执行的问题
- SSM 配置文件
- maven spring学习记录
- web缓存学习+H5自定义属性+observe
- javascript深度拷贝
- Linux例行性工作调度---crontab与at