一尘不染

如何从Java中的字符串值获取枚举值?

java

说我有一个枚举

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

并且我想找到一个字符串的枚举值,例如"A"它将是Blah.A。这怎么可能呢?

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


阅读 515

收藏
2020-02-25

共1个答案

一尘不染

是的,Blah.valueOf("A")会给你的Blah.A

请注意,该名称必须是精确匹配,包括大小写:Blah.valueOf("a")Blah.valueOf("A ")两抛出IllegalArgumentException

静态方法valueOf()values()是在编译时创建的,不会出现在源代码中。但是,它们确实出现在Javadoc中。例如,Dialog.ModalityType显示两种方法。

2020-02-25