我正在尝试将一个字符串转换为一个日期,但转换器似乎没有被触发,我得到一个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.它甚至没有打印这个working词。我错过了什么?谢谢。
1 回答

函数式编程
TA贡献1807条经验 获得超9个赞
好吧,出于某种原因,我愚蠢的 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;
}
};
添加回答
举报
0/150
提交
取消