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

Custom converter in ModelMapper not being fired

我正在尝试将字符串转换为日期,但转换器似乎没有启动,我得到了 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 这个词。

我错过了什么?

谢谢。

好吧,出于某种原因,我的笨蛋 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;
            }
        };