推土机映射地图不能正确映射密钥类型

时间:2013-07-16 08:37:11

标签: java map mapping dozer

我正在将对象图从一个表示映射到另一个表示(外部到内部)。我有以下两个类(为了便于阅读,省略了其他属性,getter和setter):

class CExt {
    private Map<Kext, Vext> dataMap;
}

class CInt {
    private Map<KInt, VInt> dataMap;
}

如果我有Kext或Vext类型的简单属性,它们会正确映射。如果我有一个List,它也会正确地映射到List。

我使用了类型提示,以便正确映射值。但是关键映射没有这样的提示。因此dozer对Map失败了:它确实映射了它,但没有将键映射到Kint类型。我得到Map<KExt, VInt>的结果。

以下是调试器变量视图显示的内容:问题以红色标记。 Debugger variables 你在这里看到真实的类型。我想要的是成为CaseDataType的关键(顺便说一句,这适用于dataType属性)。 CaseDataTypeExtCaseDataType都是枚举。

如何深度映射我的地图密钥?

(如果确实需要,我可以修改Ext类,但是不可能更改Int类。)

0 个答案:

没有答案