【发布时间】:2014-06-17 09:19:49
【问题描述】:
我有一个这样声明的枚举:
public enum Mode{
RUNNING("SytemRunning"),
STOPPED("SystemStopped"),
IDLE("tmpIdle");
public static String key;
private Mode(String key){
this.key = key;
}
}
现在,我想通过反射获取此枚举的键(SystemRunning、SystemStopped、tmpIdle):
Class<?> c = Class.forName("Mode");
Object[] objects = c.getEnumConstants();
// now this is not what I want, but almost
for(Object obj : objects){
System.out.println("value : " + obj);
}
输出是: 跑步 停止 空闲
但是,我想要字符串 SystemRunning、tmpIdle 等。
非常感谢您。
【问题讨论】:
-
为什么是
keystatic? -
stackoverflow.com/questions/5316311/… 做了这样的事情(不需要反思)。代码中的一个小错误:为字段
key删除static。知道Mode.values()?
标签: java reflection enums