求大神指导,为什么会抛数组下标越界异常。

iamhuangZHENYU 2013-03-18 10:36:38
import java.lang.reflect.Method;

class TestArguments {
public static void main(String[] args) {
for(String arg : args) {
System.out.println(arg);
}
}
}
public class MethodTest {
public static void main(String[] args) throws Exception {
String str1 = "abc";
String startingClassName = args[0];
Method mainMethod = Class.forName(startingClassName).getMethod("main", String[].class);
mainMethod.invoke(null, new Object[]{new String[]{"111","222","333"}});
mainMethod.invoke(null, (Object)new String[]{"111","222","333"});
}
}
...全文
367 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
2399 2013-03-21
  • 打赏
  • 举报
回复
引用 10 楼 jike316 的回复:
mainMethod.invoke(null, new Object[]{new String[]{"111","222","333"}});
不能是null的
2399 2013-03-21
  • 打赏
  • 举报
回复
mainMethod.invoke(null, new Object[]{new String[]{"111","222","333"}});
Ada168855 2013-03-20
  • 打赏
  • 举报
回复
应该给arg[0]赋值
ydb7459022 2013-03-19
  • 打赏
  • 举报
回复
没有赋值的原因,arg[0]取不到
lvzg_005 2013-03-18
  • 打赏
  • 举报
回复
热心的答疑者还得揣摩提问者的意图
wycandxyc 2013-03-18
  • 打赏
  • 举报
回复
应该是这个问题,我刚才试验了一下给付个值就不报空指针了
wgr1001 2013-03-18
  • 打赏
  • 举报
回复
运行的时候 需要传入 TestArguments 类的 完整路径
wycandxyc 2013-03-18
  • 打赏
  • 举报
回复
args[0]是不是这句报错了,你没给值吧
yongger520 2013-03-18
  • 打赏
  • 举报
回复
哪行异常啊 没描述问题 光贴代码 ?
nmyangym 2013-03-18
  • 打赏
  • 举报
回复
这样运行试试: java MethodTest TestArguments 结果: 111 222 333 111 222 333
liujun3512159 2013-03-18
  • 打赏
  • 举报
回复
帮你顶一下,呵呵

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧