在Java中,我有一个带有属性的类:
@XmlElement(name = "Ability")
protected String Ability;
能力可以是低,中或高。
稍后在代码中,一些未验证的数据需要分配给Ability。
test.setAbility(pdf.get("Ability"));
我应该枚举能力吗?如何使它成为仅当能力是一种枚举类型时才被设置?
最佳答案
在您的情况下,使用枚举将是有益的,您可以使用映射器转换字符串:
public static String mapAbilityEnum(String ability) {
switch (ability) {
case "LOW":
return AbilityEnum.LOW;
case "MEDIUM":
return AbilityEnum.MEDIUM;
case "HIGH":
return AbilityEnum.HIGH;
default:
return foo; (whatever you want the default to be)
}
}