BeanUtils 转换器将Long ,Integer等数字类型的默认值设置为null
2016-11-22 13:43
525 查看
BeanUtils.copyProperties(A,B);
如果B中的Integer类型的数据是null的,那么通过这个方法复制给A后,这个null的Integer数据会变成0。
也就是它有自己的规则,如果发现Integer类型的数据如果是null的,它会自作多情的给个默认值!
这个自作多情是很让开发人员反感的!比如Integer类型的数据=null是一个逻辑业务,但是经过复制后之前的业务逻辑就不执行了!!!
解决方法:使用PropertyUtils.copyProperties(A,B),注:数据类型里面有data类型的可能会存在问题
如果B中的Integer类型的数据是null的,那么通过这个方法复制给A后,这个null的Integer数据会变成0。
也就是它有自己的规则,如果发现Integer类型的数据如果是null的,它会自作多情的给个默认值!
这个自作多情是很让开发人员反感的!比如Integer类型的数据=null是一个逻辑业务,但是经过复制后之前的业务逻辑就不执行了!!!
解决方法:使用PropertyUtils.copyProperties(A,B),注:数据类型里面有data类型的可能会存在问题
相关文章推荐
- BeanUtils 转换器将Long ,Integer等数字类型的默认值设置为null
- BeanUtils 转换器将Long ,Integer等字段的默认值设置为null
- BeanUtils.populate 转换器将 integer等字段的默认值为null
- 有关apache包里面的BeanUtils.copyProperties 字段类型为Integer或者Double时,自动赋值为默认值的问题随笔
- BeanUtils.copyProperties做copy的时候,Long 字段会设置为null
- java 反射: 当Timestamp类型的属性值为null时,设置默认值
- BeanUtils.copyProperties 如果Integer 或Long 为null 默认赋值0
- Hibernate Tip: 为什么要把变量类型设置为Long, Integer,而不是long, int
- BeanUtils.copyProperties 如果Integer 或Long 为null 默认赋值0
- 怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int3
- MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP
- laravel migration如何设置时间戳类型默认值为插入时间
- mysql建表date类型不能设置默认值
- Integer 类型的变量,编译器不会给你默认值,不赋值会报错
- MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP
- MySQL time类型默认值设置
- 设置DataGridView 列类型为 DataGridViewComboBoxColumn 的默认值
- js类型判断(数字、0、""、undefined、null)
- MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP
- C#中将integer, long, double 数据类型转换为string类型