问题解释:

再CopyProters的时候,apache没有通过递归的方式去嵌套copy属性对象的子属性,而是直接通过orig.getXXX和desc.setXXX的方式进行复制,所以只要出现三层以上,也就是子属性的子属性那么你的末日了,他可能变成了另一个对象而且无法再编译时发现,只会在运行时告诉你ClassCastError。

Apache的BeanUtils.copyProperties的坑

Apache的BeanUtils.copyProperties的坑

Apache的BeanUtils.copyProperties的坑

Apache的BeanUtils.copyProperties的坑

Apache的BeanUtils.copyProperties的坑

暴力模拟,这里只是简单的模拟。

Apache的BeanUtils.copyProperties的坑

相关文章: