【发布时间】:2018-01-18 13:06:09
【问题描述】:
在 Java 中,我有一个带有属性的类:
@XmlElement(name = "Ability")
protected String Ability;
能力可以是低、中或高。
稍后在代码中需要将一些未经验证的数据分配给能力。
test.setAbility(pdf.get("Ability"));
我应该枚举能力吗?如何才能使能力只有在它是枚举类型之一时才被设置?
【问题讨论】:
在 Java 中,我有一个带有属性的类:
@XmlElement(name = "Ability")
protected String 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)
}
}
【讨论】: