我使用commons-beanutils 1.8.3和Date属性作为java.util.Date。
当我尝试将Source复制到目标时,它无法复制日期属性。
以下显示了我之前的问题,但没有人给我正确答案。
作为示例,我在源bean中的日期值是Wed May 15 15:46:04 IST 2013,但是BeanUtils无法将其复制到目标...
答案 0 :(得分:6)
这是我能够解决问题的方法。
public static void copyProperties(Object src, Object dest) throws IllegalAccessException,
InvocationTargetException, NoSuchMethodException {
java.util.Date defaultValue = null;
Converter converter = new DateConverter(defaultValue);
BeanUtilsBean beanUtilsBean = BeanUtilsBean.getInstance();
beanUtilsBean.getConvertUtils().register(converter, java.util.Date.class);
BeanUtils.copyProperties(dest, src);
}
答案 1 :(得分:0)
在您的情况下,不需要使用字符串转换,因为src和dest属性具有相同的类型。这样可以正常使用
for (Field property : attributes) {
property.set(dest, property.get(src));
}
答案 2 :(得分:0)
解决了cloneBean函数的问题,如:
ClassType newClazz = null;
newClazz = (ClassType) BeanUtils.cloneBean(oldClazz);