黑马程序员技术交流社区
标题:
枚举的valueOf方法参数问题
[打印本页]
作者:
胡志翔
时间:
2013-10-26 18:49
标题:
枚举的valueOf方法参数问题
张老师讲课的时候用枚举的valueOf的方法的时候接受一个参数,查阅API文档是接收2个参数,为什么张老师这里不报错?
1.png
(14.78 KB, 下载次数: 13)
下载附件
2013-10-26 18:46 上传
作者:
linjl_ll
时间:
2013-10-26 19:27
你好,你查询的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();
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2