Java Lookup Enum By String Value

时间:2018-04-24 05:11:13

标签: java enums

我有一个只是

的枚举
public enum Blah {
    A, B, C, D
}

我希望找到一个字符串的枚举值,例如" A"这将是 Blah.A 。怎么可能这样做?

我需要Enum.valueOf()方法吗?如果是这样,我将如何使用它?

4 个答案:

答案 0 :(得分:2)

您应该使用Blah.valueOf("A")Blah.A

您在valueOf方法中传递的参数应与Enum中的一个匹配,否则会引发异常。

答案 1 :(得分:0)

public Blah blahValueOf(String k) {
    for (Blah c : Blah.values()) {
        if (c.getLabel().toUpperCase().equals(k.toUpperCase())) {
            return c;
        }
    }
    return null;
}

您可以编写此方法以查找Blah.valueOf()

答案 2 :(得分:0)

你可以使用.valueOf方法。 例如

public class EnumLoader {

    public static void main(String[] args) {
            DemoEnum value = DemoEnum.valueOf("A");
            System.out.println(value);
        }
    }
    enum DemoEnum{
        A,B,C;
    }

答案 3 :(得分:0)

如果要访问Enum类的值,则应使用valueOf方法。

valueOf(argument) - >将返回特定于参数的枚举值。

System.out.println(Blah.valueOf("A"));

如果Enum类中没有参数,请记住一点,您将面临 java.lang.IllegalArgumentException:No enum constant