一周乱弹(3.27 )1,copyProperties 比较2, java Object... objects 可变参数
来源:互联网 发布:淘宝评论怎么没有了 编辑:程序博客网 时间:2024/05/21 21:42
一,copyProperties 比较
apache的BeanUtils
1,属性名相同,并且属性类型相同
点击(此处)折叠或打开
org.apache.commons.beanutils.BeanUtils.copyProperties(target, source)
结果:1,2(正确)
2,基本类型与包装类型之间的copy
结果:1,2(正确),这一点上,apache.BeanUtils比BeanCopier强大一点。
3,target的setter不规范
结果:不会copy,但是不会抛异常。
4,不同类型之间,会报异常: java.lang.IllegalArgumentException,参数不匹配,这样看来,apache的BeanUtils只检测属性名是否一样,没有做类型检查。
spring的BeanUtils
1,属性名相同,并且属性类型相同
点击(此处)折叠或打开
org.springframework.beans.BeanUtils.copyProperties(source, target)
结果:1,2(正确)
2,基本类型与包装类型之间的copy
结果:1,2(正确)
3,target的setter不规范
结果:1,2(正确),这是BeanCopier、apache的BeanUtils不具备的。
4,不同类型之间,会报异常:java.lang.IllegalArgumentException: argument type mismatch,跟apache的BeanUtils一样,没有做类型检查。
总结:
apache的BeanUtils稍微强一点,支持基本类型和包装类型之间的copy,但是不支持不规范setter,不同类型之间的copy也没做规避。
spring的BeanUtils在这2个里面是最强的,仅仅没做不同类型之间copy的规避。
也可自己根据实际需要自己写。
二, java Object... objects 可变参数
Object... objects,表示你可以传多个参数,具体多少个根据你自己的需求来定。
public void test(Object... objs){}
如果你的方法参数像上面那样定义的话,调用就非常的灵活,下面的调用均可:
test();
test("1");
test("1", "2");
test("1", "2", "3");
也就是说,你的参数可以是任意个。
而test方法里面获取参数时,则可以将objs当成一个数组:
if(objs != null && objs.length > 0){
System.out.println(objs[i]);
apache的BeanUtils
1,属性名相同,并且属性类型相同
点击(此处)折叠或打开
org.apache.commons.beanutils.BeanUtils.copyProperties(target, source)
结果:1,2(正确)
2,基本类型与包装类型之间的copy
结果:1,2(正确),这一点上,apache.BeanUtils比BeanCopier强大一点。
3,target的setter不规范
结果:不会copy,但是不会抛异常。
4,不同类型之间,会报异常: java.lang.IllegalArgumentException,参数不匹配,这样看来,apache的BeanUtils只检测属性名是否一样,没有做类型检查。
spring的BeanUtils
1,属性名相同,并且属性类型相同
点击(此处)折叠或打开
org.springframework.beans.BeanUtils.copyProperties(source, target)
结果:1,2(正确)
2,基本类型与包装类型之间的copy
结果:1,2(正确)
3,target的setter不规范
结果:1,2(正确),这是BeanCopier、apache的BeanUtils不具备的。
4,不同类型之间,会报异常:java.lang.IllegalArgumentException: argument type mismatch,跟apache的BeanUtils一样,没有做类型检查。
总结:
apache的BeanUtils稍微强一点,支持基本类型和包装类型之间的copy,但是不支持不规范setter,不同类型之间的copy也没做规避。
spring的BeanUtils在这2个里面是最强的,仅仅没做不同类型之间copy的规避。
也可自己根据实际需要自己写。
二, java Object... objects 可变参数
Object... objects,表示你可以传多个参数,具体多少个根据你自己的需求来定。
public void test(Object... objs){}
如果你的方法参数像上面那样定义的话,调用就非常的灵活,下面的调用均可:
test();
test("1");
test("1", "2");
test("1", "2", "3");
也就是说,你的参数可以是任意个。
而test方法里面获取参数时,则可以将objs当成一个数组:
if(objs != null && objs.length > 0){
System.out.println(objs[i]);
}
总结:1,控制台的错误要从下往上看,上面的错误都是下面引起的。
2,代码写完之后,要赶紧提到服务器上去,放在服务器上是最保险的,自己在这上面吃过很多亏了。
0 0
- 一周乱弹(3.27 )1,copyProperties 比较2, java Object... objects 可变参数
- 一周乱弹(1,jquery窗口变化触发的方法。2,Intellij出现 java.lang.OutOfMemory)
- java 可变长参数 Object...object
- Java 可变参 Object...objects 方法的陷进
- 一周乱弹(1,绝对路径中的 / 代表什么 2,jsp include标签 3,java 获取ip地址问题,4,springMVC @RequestMapping 传递多个参数5,jQuery模糊搜索)
- java深入学习(1)-可变参数-Object类
- 一周乱弹(1,jQuery vilidate验证表单隐藏域2,nivoSlider调整图片大小)
- 一周乱弹(1,input 设置只能输入正整数 2,bootstrap 图标颜色设置)
- 一周乱弹(1,spring mvc得到request以及绝对路径,2tomcat优化)
- Object... values 可变参数
- 一周乱弹(1,spring 获取 servletContext 方式 2,Calendar常用操作及与date,string的转换)
- Java Object...可变长度的参数(Varargs)详解
- JAVA动态(可变)参数
- Java可变参数(转载)
- Object-C 之 可变参数
- 一周乱弹2016-3-13(第五个周日,以今年工作开始时间计1,java类在继承2,js 的confirm确认方法3,tomcat 在设置项目的部署路径)
- 为不定参数Object...objects传数组
- Java 基础(2) —— 可变参数
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
- Linux内核分析:实验五
- Android drawPath实现QQ拖拽泡泡
- Tuhdo emacs 学习笔记
- windows内核驱动内存管理之Lookaside使用
- 一周乱弹(3.27 )1,copyProperties 比较2, java Object... objects 可变参数
- .Net AOP(二)远程代理Remoting/RealProxy
- 数字反演
- Android开发:按一定频率同时获取多个传感器数据
- BZOJ 1997 HNOI 2010 Planar 2-SAT
- 在c代码中使用logcat
- C++ 利于宏模拟C#的正则表达式
- HDU 1059 Dividing(多重背包)
- Android中序列化的实现?使用Serializable还是Parcelable