相关疑难解决方法(0)

如何在Java中获取所有枚举值?

我遇到了这个问题,我不知道enum我需要迭代其可能值的实际类型.

if (value instanceof Enum){
   Enum enumValue = (Enum)value;
}
Run Code Online (Sandbox Code Playgroud)

任何想法如何从enumValue中提取其可能的值?

java enums

85
推荐指数
7
解决办法
11万
查看次数

通过反思获得枚举的价值

我有一个这样的枚举:

public enum Mode{
  RUNNING("SytemRunning"),
  STOPPED("SystemStopped"),
  IDLE("tmpIdle");

  public static String key;

  private Mode(String key){
    this.key = key;
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想通过反射来获取此枚举的键(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);
}
Run Code Online (Sandbox Code Playgroud)

输出是:RUNNING STOPPED IDLE

但是,我想要使用Strings SystemRunning,tmpIdle等.

非常感谢你提前.

java reflection enums

7
推荐指数
2
解决办法
9194
查看次数

标签 统计

enums ×2

java ×2

reflection ×1