繁体   English   中英

Java查找枚举按字符串值

[英]Java Lookup Enum By String Value

我有一个枚举

public enum Blah {
    A, B, C, D
}

我想找到一个字符串的枚举值,例如“ A”就是Blah.A。 怎么可能做到这一点?

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

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

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

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

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

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

public class EnumLoader {

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

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

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

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

记住一点,如果该参数不存在于Enum类中,您将面临java.lang.IllegalArgumentException:没有枚举常量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM