为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

婷婷同学_ 2022-12-21 10:12:27
我正在尝试将一个字符串转换为一个日期,但转换器似乎没有被触发,我得到一个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;

            }

        };


查看完整回答
反对 回复 2022-12-21
  • 1 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号