我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;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在努力获取价值AbuseSectionType.valueOf("Music")。我没有得到任何枚举常量,也没有发现错误。我应该有价值MUSIC。
在您的情况下,枚举name()的 是声明它时指定的名称MUSIC。
如果我们阅读 javadoc valueOf():
返回具有指定名称的指定枚举类型的枚举常量。
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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29857 次 |
| 最近记录: |