如何从Java中的字符串值中获取枚举值
假设我有一个枚举,它只是
公共枚举 Blah {A B C D}
我想找到一个字符串的枚举值,例如 A"
,它是 Blah.A
.怎么可能做到这一点?
是 Enum.valueOf()
我需要的方法?如果是这样,我将如何使用它?
是的,Blah.valueOf("A")
会给你Blah.A
.p>
请注意,名称必须是精确匹配,包括大小写:Blah.valueOf("a")
和 Blah.valueOf("A")
都抛出 IllegalArgumentException
.
静态方法 valueOf()
和 values()
是在编译时创建的,不会出现在源代码中.不过,它们确实出现在 Javadoc 中;例如,Dialog.ModalityType代码> 显示这两种方法.
Say I have an enum which is just
public enum Blah {
A, B, C, D
}
and I would like to find the enum value of a string, for example "A"
which would be Blah.A
. How would it be possible to do this?
Is the Enum.valueOf()
the method I need? If so, how would I use this?
Yes, Blah.valueOf("A")
will give you Blah.A
.
Note that the name must be an exact match, including case: Blah.valueOf("a")
and Blah.valueOf("A ")
both throw an IllegalArgumentException
.
The static methods valueOf()
and values()
are created at compile time and do not appear in source code. They do appear in Javadoc, though; for example, Dialog.ModalityType
shows both methods.
相关文章