繁体   English   中英

推土机枚举枚举映射

[英]Dozer enum to enum mapping

为什么这不适用于Dozer? 要做到这一点我需要做些什么? 我们有很多枚举词,有时候我们只需要在它们之间进行映射。 我们可以用任何方式配置推土机来做这个而不用编写自定义的东西吗?

enum EnumOne{ TEST1, TEST2 }
enum EnumTwo{ TEST1, TEST2 }

Mapper dozerMapper;

dozerMapper.map(EnumOne.TEST1, EnumTwo.class);

它不起作用,因为Dozer依赖于公共构造函数的存在,这对于枚举是非法的。 当您尝试映射它们时,可以从异常中推断出:

Exception in thread "main" org.dozer.MappingException: 
java.lang.NoSuchMethodException: DestinationEnum.< init >()

它正在寻找一个不存在的构造函数。

没有办法解决它,除非black666说,它已成为更大的POJO的一部分。 这就是文档中显示的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM