说我有一个枚举,它只是
public enum Blah { A, B, C, D }
我想找到一个字符串的枚举值,"A"例如Blah.A. 怎么可能做到这一点?
"A"
Blah.A
是Enum.valueOf()我需要的方法吗?如果是这样,我将如何使用它?
Enum.valueOf()
是的,Blah.valueOf("A")会给你Blah.A。
Blah.valueOf("A")
请注意,名称必须完全匹配,包括 case:Blah.valueOf("a")并且Blah.valueOf("A ")两者都抛出IllegalArgumentException.
Blah.valueOf("a")
Blah.valueOf("A ")
IllegalArgumentException
静态方法valueOf()和values()是在编译时创建的,不会出现在源代码中。不过,它们确实出现在 Javadoc 中;例如,Dialog.ModalityType显示这两种方法。
valueOf()
values()
Dialog.ModalityType