[英]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.