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

Dan*_*ger 2 java reflection enums

假设我有一个带有值的字符串

'Language'
Run Code Online (Sandbox Code Playgroud)

我有一个叫做语言的枚举

enum Language{
    English,
    Spanish,
    French
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用字符串“语言”并返回枚举语言的值。我基本上想知道是否存在通过传递字符串来获取Enum语言实例的方法。有一些像

Class.forName()
Run Code Online (Sandbox Code Playgroud)

但对于枚举。

ama*_*loy 5

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