【发布时间】:2017-03-10 07:50:00
【问题描述】:
问题描述如下:
在准备ocjp测试的过程中,遇到了一个问题,想不通是什么问题。
package test;
class Test005{
public static void main(String[] args){
//Integer i = args[0];//cannot convert string to Integer
Integer I = Integer.valueOf(args[0]); // Error ArrayOutOfBoundsException :0
int j = 12;
System.out.println(j == i);
}
}
第一个Integer I = args[0]是错误的,因为args[0]是一个字符串,而I是一个int;但是,第二个Ineteger I = Integer.valueOf(args[0]) 顺利执行,但是JVM 抛出错误,我就是想不通为什么?
【问题讨论】:
-
阅读 javadoc!
-
如果您遇到了代码中提到的 ArrayOutOfBoundsException,则不要使用参数启动程序
-
args.length是什么? -
我建议你阅读Java Tutorials。
-
你在运行这个类时设置了参数吗?例如'java Test005 2'