我创建了这个具有字符串值的枚举。
我有这样的枚举:
enum MyEnum {
NAME_ONE("one"),
NAME_TWO("two");
private String value;
MyEnum(String value) {
this.value = value;
}
public String toString() {
return value;
}
}
现在,我想将字符串转换为枚举:
String enumValue = "one";
MyEnum mMyEnum = ??? // I want to make MyEnum.NAME_ONE from "one", but how?
最佳答案
您可以向枚举
添加一个方法:
public static MyEnum parseValue (final String value) {
for (final MyEnum me : MyEnum.values()) {
if (me.value.equals(value)) {
return me;
}
}
throw new IllegalArgumentException("Incorrect value: " + value);
}
这样调用它:
String enumValue = "one";
MyEnum mMyEnum = MyEnum.parseValue(enumValue);
关于JAVA字符串转换成对应的枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40997131/