你好,你查询的java.lang.Enum类中的说明吧?java.lang.Enum的说明文档中没有valueOf(String value)这个方法,然后我通过反射判断出Enum类中确实没有该参数的方法,代码如下:try {
Method enummethod = Enum.class.getMethod("valueOf", String.class);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
System.out.println("没有该方法!!");
}
我们知道Enum是java中所有枚举的基类,既然Enum中没valueOf(String value)的方法,那么应该在子类当中吧,这里说的就是Lamp,我使用反射判断出Lamp类中有valueOf(String value)个方法,代码如下:
try {
Method enummethod = TrafficLamp.class.getMethod("valueOf", String.class);
System.out.println("执行valueOf(String value)方法:"+enummethod.invoke(null,"GREEN"));
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
System.out.println("没有该方法!!");
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} |