Java 在Jaxb转换的枚举类中检索@XmlEnumValue注释属性值
我有一个Enum类WeekEnum,它是一个Jaxb类Java 在Jaxb转换的枚举类中检索@XmlEnumValue注释属性值,java,xml,enums,jaxb,annotations,Java,Xml,Enums,Jaxb,Annotations,我有一个Enum类WeekEnum,它是一个Jaxb类 WeekEnum day=WeekEnum.SUNDAY 要从Enumday中获取值“Sunday”,我们编写day.value() 要从Enumday中获取值“SUNDAY”,我们编写day.name() 我们如何从Eumday获取值“星期日 如果我有值“Sunday”,我们如何得到相应的“Sunday.ON”?您需要将其存储在与值类似的单独变量中 @XmlType(name = "WeekEnum") @XmlEnum public e
WeekEnum day=WeekEnum.SUNDAY代码>
要从Enumday中获取值“Sunday”,我们编写day.value()强>
要从Enumday中获取值“SUNDAY”,我们编写day.name()强>
我们如何从Eumday获取值“星期日
如果我有值“Sunday”,我们如何得到相应的“Sunday.ON”?您需要将其存储在与值类似的单独变量中
@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);
}
}
您需要将其存储在与value类似的单独变量中
@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);
}
}
如果有一个名为week的枚举实例,则可以执行以下操作
@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);
}
}
如果有一个名为week的枚举实例,则可以执行以下操作
@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);
}
}
问题是我们无法控制枚举、值或注释。这是我们无法接触到的东西。它是第三方Jaxb。我们最多可以向Enum类添加方法。是否有任何方法可以使用Java核心方法获得所需的注释值。问题是我们无法控制枚举、值或注释。这是我们无法接触到的东西。它是第三方Jaxb。我们最多可以向Enum类添加方法。是否有任何方法可以使用Java核心方法获得所需的注释值。