黑马程序员技术交流社区

标题: 关于反射的问题 [打印本页]

作者: jingzhouheima    时间: 2013-8-9 17:54
标题: 关于反射的问题
本帖最后由 jingzhouheima 于 2013-8-14 07:47 编辑

在myEclipse中已经给要运行的主类配置了。运行参数
String startingClassName = args[0];
Method mainMethod = Class.forName(startingClassName).getMethod("main",String[].class);
mainMethod.invoke(null, new String[]{"111","222","333"});/

但是

仍出现了



配置主类运行参数.GIF (31.19 KB, 下载次数: 12)

配置主类运行参数.GIF

报错.GIF (11.35 KB, 下载次数: 13)

报错.GIF

作者: 草帽    时间: 2013-8-9 18:11
把代码整上来呗
目前只看出 new String[]{"111","222","333"}  有点问题,为了兼容老版本会拆开数组,可以写成 new object[]{ new String[]{"111","222","333"} } 或 (object)new String[]{"111","222","333"}
作者: jingzhouheima    时间: 2013-8-9 18:24
草帽 发表于 2013-8-9 18:11
把代码整上来呗
目前只看出 new String[]{"111","222","333"}  有点问题,为了兼容老版本会拆开数组,可以 ...

就是程序中的那个args[0].读不到、、
作者: 杨增坤    时间: 2013-8-11 23:15
String startMian=args[0];
Method methodMian=Class.forName(startMian).getMethod("main", String[].class);
methodMian.invoke(null, new Object[]{new String[]{"111","222","333"}});
或者是
String startMian=args[0];
Method methodMian=Class.forName(startMian).getMethod("main", String[].class);
methodMian.invoke(null, (Object)new String[]{"111","222","333"});
因为在对于参数解析的时候,会把你穿进去的参数,进行分开解析,所以最外面要包装一层。
老师的视频里将的和清楚的!
作者: 以防万一    时间: 2013-8-13 22:20
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~


保持队形,谢谢合作




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2