@XmlType(name = "WeekEnum")
@XmlEnum
public enum WeekEnum implements Serializable {
MONDAY("Monday"),
@XmlEnumValue("SUNDAY.ON")
SUNDAY("Sunday")
private final String value;
WeekEnum(String v) {
value = v;
}
public String value() {
return value;
}
public static WeekEnum fromValue(String v) {
for (WeekEnum c: WeekEnum.values()) {
if (c.value.equals(v)) {
return c;
}
}
throw new IllegalArgumentException(v);
}
}
我有一个 Enum 类 WeekEnum,它是一个 Jaxb 类。
WeekEnum day = WeekEnum.SUNDAY;
要从枚举 day 获取值“Sunday”,我们编写 day.value();
要从枚举 day 中获取值“SUNDAY”,我们编写 day.name();
我们如何从 Eum day 获取值“SUNDAY.ON”??
如果我有值“Sunday”,我们如何获得相应的“SUNDAY.ON”??
最佳答案
您需要将其存储在与值类似的单独变量中。
@XmlType(name = "WeekEnum")
@XmlEnum
public enum WeekEnum implements Serializable {
MONDAY("Monday"),
@XmlEnumValue("SUNDAY.ON")
SUNDAY("Sunday", "SUNDAY.ON")
private final String value;
private final String xmlValue;
WeekEnum(String v) {
value = v;
}
WeekEnum(String v, String xmlValue){
this(v);
this.xmlValue = xmlValue;
}
public String value() {
return value;
}
public String getXmlValue() {
return xmlValue;
}
public static WeekEnum fromValue(String v) {
for (WeekEnum c: WeekEnum.values()) {
if (c.value.equals(v)) {
return c;
}
}
throw new IllegalArgumentException(v);
}
}
关于java - 检索 Jaxb 转换的 Enum 类中的 @XmlEnumValue 注释属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34743251/