gpt4 book ai didi

java - 使用 BeanUtils.copyProperties(dest, src) 时出错

转载 作者:行者123 更新时间:2023-12-01 13:40:48 26 4
gpt4 key购买 nike

我有 2 个表单类

public class Form1{
int id,
String name,
DateTime lastModified;

//setters and getters
}


public class Form2 {
int id,
String name,
Date lastModified;

//setters and getters
}

即,其中一个表单具有相同的变量名称 lastModified 和 Date 类型,另一个表单具有 joda DateTime 类型

我正在尝试将 form1 值复制到 form2
Form1 form1 = dao.getForm1();
Form2 form2 = new Form2();

BeanUtils.copyProperties(form2,form1)

但它给了我这样的错误
 org.apache.commons.beanutils.ConversionException: DateConverter does not        support default String to 'Date' conversion.

我尝试了中给出的解决方案

https://stackoverflow.com/a/5757379/1370555

但它给了我这样的错误
org.apache.commons.beanutils.ConversionException: Error converting 'org.joda.time.DateTime' to 'Date' using pattern 'yyyy-MM-dd HH:mm:ss.0 Z'

我认为它可以用 apache ConvertUtils 解决,但我不知道它是如何完成的

任何人都可以帮我解决这个问题吗?

最佳答案

BeanUtils.copyProperties(form2,form1)将一个表单的属性值复制到另一个表单。因为您的两个表单都有 lastModified具有不同数据类型和 org.joda.time.DateTime 的属性与 java.util.Date 不兼容,你得到了异常(exception)。

您可以将属性更改为相同的引用类型或使用构造函数将值分配给相同变量引用的匹配数据类型

关于java - 使用 BeanUtils.copyProperties(dest, src) 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33141809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com