我制作了这个包含字符串值的枚举。
我有这样的枚举:
enum MyEnum {
NAME_ONE("one"),
NAME_TWO("two");
private String value;
MyEnum(String value) {
this.value = value;
}
public String toString() {
return value;
}
}
现在,我想将String转换为Enum:
String enumValue = "one";
MyEnum mMyEnum = ??? // I want to make MyEnum.NAME_ONE from "one", but how?
答案 0 :(得分:1)
您可以向enum
添加方法:
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);