beanutils.copyproperties (a,b)
a中有desc字段, b中也有desc ,可拷贝之后,b.desc 为null
这里分析一种可能:
get set方法写错了,例如b中原先字段名为 testDesc,这时我们手动生成get set方法,后来把testDesc字段改成了desc,
但是get set 方法忘记了重新生成,就会造成这种情况。
原因基本就是截取字段错误 : 方法名为 getTestDest ,subString 截取到的是testDesc,如果感兴趣可以看之前我写的一篇文章 帮助理解,功能和beanutils.copyproperties类似 实现也大同小异
java修改对象属性值工具类,两个对象信息互换工具类
开发中尽量避免类似的细节错误,有些比较好的方式:
- lombok 插件 加上@Data注解 自动生成get set 不用担心字段名改变
- 方法可以使用function参数,避免手写字段错误 如有疑惑可以参照我的另一篇文章
java 中的:: 双冒号 function参数