【发布时间】:2016-12-04 13:26:51
【问题描述】:
我正在尝试将所有属性从一个 bean 复制到另一个:
public void copy(MyBean bean){
setPropertyA(bean.getPropertyA());
setPropertyB(bean.getPropertyB());
[..]
}
如果你的 bean 有很多属性,这很容易出错并且要写很多东西。
我正在考虑通过反射来做到这一点,但我无法将 getter 从一个对象“连接”到另一个对象的 setter。
public List<Method> getAllGetters(Object object){
List<Method> result = new ArrayList<>();
for (final PropertyDescriptor propertyDescriptor : Introspector.getBeanInfo(object.getClass()).getPropertyDescriptors()) {
result.add(readMethod = propertyDescriptor.getReadMethod());
}
return result;
}
编辑:
BeanUtils.copyProperties(this, anotherBean);
按预期工作!
【问题讨论】:
-
反射是防错的?
-
@GurwinderSingh,感谢您的宝贵意见。