无法通过 MapStruct 生成从 Enum 到 Boolean 的映射方法
unable to generate mapping method from Enum To Boolean by MapStruct
我可以通过使用将一种对象类型转换为另一种对象类型的 mapstruct 成功地从一个枚举到另一个枚举。
不幸的是,我无法将 Enum 转换为 Boolaen。我收到以下错误。
"Can't map property "ChoiceType isPriceHigh”到"java.lang.Boolean isPriceHigh"。考虑declare/implement一个映射方法:"java.lang.Boolean map(ChoiceType value)"。
这是我在 mapstruct 中使用的方法。任何帮助将不胜感激。
干杯
阿尔珀
@ValueMappings({
@ValueMapping(target = "true", source = "YES"),
@ValueMapping(target = "false", source = "NO")
})
Boolean map(ChoiceType value);
@ValueMappings
可用于在 enum
(s) 而不是对象与 enum
之间进行映射。 Java 中的 Boolean
不是 enum
,这就是您收到错误的原因。
为了进行此类映射,您必须为其定义自己的方法。
public interface MyMapper {
default Boolean map(ChoiceType value) {
if (value == null) {
return null;
}
switch(value) {
case YES:
return true;
case NO:
default:
return false;
}
}
}
我可以通过使用将一种对象类型转换为另一种对象类型的 mapstruct 成功地从一个枚举到另一个枚举。
不幸的是,我无法将 Enum 转换为 Boolaen。我收到以下错误。
"Can't map property "ChoiceType isPriceHigh”到"java.lang.Boolean isPriceHigh"。考虑declare/implement一个映射方法:"java.lang.Boolean map(ChoiceType value)"。
这是我在 mapstruct 中使用的方法。任何帮助将不胜感激。
干杯 阿尔珀
@ValueMappings({
@ValueMapping(target = "true", source = "YES"),
@ValueMapping(target = "false", source = "NO")
})
Boolean map(ChoiceType value);
@ValueMappings
可用于在 enum
(s) 而不是对象与 enum
之间进行映射。 Java 中的 Boolean
不是 enum
,这就是您收到错误的原因。
为了进行此类映射,您必须为其定义自己的方法。
public interface MyMapper {
default Boolean map(ChoiceType value) {
if (value == null) {
return null;
}
switch(value) {
case YES:
return true;
case NO:
default:
return false;
}
}
}