反射 - 获取类中的枚举

时间:2016-05-28 08:22:35

标签: java reflection

我有一个带有枚举的类和一个构造函数,它将它用作参数。

public class Example {
  public enum ExampleEnum {WORK,IDLE};
  public Example(ExampleEnum e, String s){...}
  // Class body
}

但是如果我从中获取枚举值并将其作为参数传递给contstructor,我会得到java.lang.NoSuchMethodException

这是我正在使用的代码:

Object enumVal = Class.forName("Example$ExampleEnum").getField("WORK").get(null);
Object instance = Class.forName("Example").getConstructor(
        enumVal.getClass(),
        String.class).newInstance(
            enumVal,
            "test"
);

(该课程存在)

0 个答案:

没有答案