1

我使用 commons-beanutils 1.8.3 和 Date 属性作为 java.util.Date。

当我尝试将源复制到目标时,它无法复制日期属性。

以下显示了我之前的问题,但没有人给我正确的答案。

例如,我在源 bean 中的日期值是 Wed May 15 15:46:04 IST 2013,但 BeanUtils 无法将其复制到目的地...

BeanUtills 日期转换问题

4

3 回答 3

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);


}
于 2013-06-29T04:03:39.307 回答
0

在您的情况下,不需要使用字符串转换,因为 src 和 dest 属性具有相同的类型。这将正常工作

    for (Field property : attributes) {
        property.set(dest, property.get(src));
    }
于 2013-05-16T05:37:24.273 回答
0

解决了cloneBean函数的问题,比如:

ClassType newClazz = null;
newClazz = (ClassType) BeanUtils.cloneBean(oldClazz);
于 2015-06-09T11:14:58.670 回答