我在用enum
在java中,这是枚举
public enum AbuseSectionType{
MUSIC("Music"), DANCE("Dance"), SOLO("Solo"), ACT("Act")
private String displayString;
AbuseSectionType(String displayValue) {
this.displayString = displayValue;
}
@JsonValue
public String getDisplayString() {
return displayString;
}
public void setDisplayString(String displayString) {
this.displayString = displayString;
}
}
我正在努力获取价值AbuseSectionType.valueOf("Music")
。我没有得到任何枚举常量,也没有发现错误。我应该有价值MUSIC
.
The name()
枚举的名称是声明它时指定的名称,MUSIC
在你的情况下。
如果我们阅读 javadocvalueOf()
:
返回指定枚举类型的枚举常量
指定名称。
valueOf()
正在使用name()
枚举的。但你想要达到的目的不同,所以不能使用这种方法。相反,您可以做的是创建自己的方法,从您自己的字段中查找值(displayString
).
这是一个例子:
public static AbuseSectionType fromDisplayString(String displayString)
{
for(AbuseSectionType type : AbuseSectionType.values())
if(type.getDisplayString().equals(displayString)
return type;
return null; //not found
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)