我正在嘗試將一個字符串轉換為一個日期,但轉換器似乎沒有被觸發,我得到一個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
提交
取消