枚举的返回列表从字符串常量枚举的名字值
比方说,我有一个值枚举的返回列表从字符串常量枚举的名字值
'Language'
一个字符串,我有一个叫做语言
enum Language{
English,
Spanish,
French
}
枚举是否有使用方法字符串'Language'并返回Enum Language的值。我基本上想知道是否有一种方法通过传递字符串来获取Enum Language的实例。有点像
Class.forName()
但是用于枚举。
enum是一个类,所以使用完全限定名(例如"com.mydomain.myapp.Language"
),您可以从Class.forName
获得枚举的类。从那里,您可以使用Class对象的反射:getEnumConstants为您提供了枚举的所有值,如果您想要名称,则可以在Enum对象上使用.name。
什么是com.mydomin.myapp?再加上我的枚举是在一个包中,所以我如何在名称中包含 – 2012-08-02 19:28:43
类的全限定名[如文档](http://docs.oracle.com/javase/6/docs/api/java/lang/ Class.html#的forName(java.lang.String中))。 – Xaerxess 2012-08-02 19:30:14
我认为这是正确的答案,只想添加另一个与Oracle教程中的链接,显示如何使用反射来获取值:http://docs.oracle.com/javase/tutorial/reflect/special/enumMembers .html – 2012-08-02 19:30:26
忽略我的关闭,这是java(oops) – Hogan 2012-08-02 19:24:17
也许这就是答案?我不知道Java以及不能测试:http://*.com/a/4751239/215752 – Hogan 2012-08-02 19:25:39