gpt4 book ai didi

java - ModelMapper 中的自定义转换器未被触发

转载 作者:行者123 更新时间:2023-12-02 05:08:41 26 4
gpt4 key购买 nike

我正在尝试将字符串转换为日期,但转换器似乎没有被触发,并且我收到了 MappingException。这是我的代码:

    @Bean
public ModelMapper modelMapper() {
ModelMapper modelMapper = new ModelMapper();
Converter<String, Date> dateConverter = context -> {
Date date;
try {
date = new SimpleDateFormat("dd/MM/yyyy").parse(context.getSource());
} catch (ParseException e) {
date = null;
}

System.out.println("working");
return date;
};

modelMapper.addConverter(dateConverter);
return modelMapper;
}

然后我就这样使用它,但我继续收到相同的错误:

Date date = this.modelMapper.map("20/12/2019", Date.class);

1) Converter org.modelmapper.internal.converter.DateConverter@27c7dc27 failed to convert java.lang.String to java.util.Date.

它甚至没有打印工作单词。

我错过了什么?

谢谢。

最佳答案

好吧,出于某种原因,我愚蠢的 IDE (IntelliJ) 建议我更改上面的代码以了解问题中的情况。看来,这就是让它无法工作的原因,将它作为 lambda 来使用。使用此代码,它可以完美运行:

       Converter<String, Date> dateConverter = new Converter<String, Date>()
{
public Date convert(MappingContext<String, Date> context)
{
Date date = null;
try {
date = new SimpleDateFormat("dd/MM/yyyy").parse(context.getSource());
} catch (ParseException e) {
System.out.println(e.toString());
}

return date;
}
};

关于java - ModelMapper 中的自定义转换器未被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56336864/

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