从Enum名称的字符串文字返回枚举值列表

时间:2012-08-02 19:21:04

标签: java reflection enums

假设我有一个值为

的字符串
'Language'

我有一个名为语言的枚举

enum Language{
    English,
    Spanish,
    French
}

有没有办法使用字符串'Language'并返回枚举语言的值。我基本上想知道是否有一种方法通过传入一个字符串来获取Enum语言的实例。有点像

Class.forName()

但是对于枚举。

1 个答案:

答案 0 :(得分:4)

枚举是一个类,因此使用完全限定名称(例如"com.mydomain.myapp.Language"),您可以从Class.forName获取枚举类。从那里,您可以对Class对象使用反射:getEnumConstants为您提供所有枚举值,如果您想要名称,则可以在Enum对象上使用.name