按名称获取java枚举

时间:2017-08-29 07:26:20

标签: java enums

是否可以通过搜索其名称而不是值来获取枚举?例如:

public enum MyEnum {
    TOTO("some value", 1);
    ZOZO("some other value", 2);
}    

我想要做的就像吸气鬼一样:

public static MyEnum getByName(String str) {
    [...]
}

所以我能做到:

MyEnum foo = MyEnum.getByName("TOTO");
MyEnum bar = MyEnum.getByName("ZOZO");

1 个答案:

答案 0 :(得分:3)

每个Java枚举都有方法valueOf(String name),它按名称返回枚举。

MyEnum foo = MyEnum.valueOf("TOTO");
MyEnum bar = MyEnum.valueOf("ZOZO");