java.lang.ArrayIndexOutOfBoundsException(数组越界。。。
当你使⽤不合法的索引访问数组时会报数组越界这种错误,数组arr的合法错误范围是[0, arr.length-1];当你访问这之外的索引时会报这个错。例如:
public class Test {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
for (int i = 0; i <= arr.length; i++) {
System.out.println(arr[i]);
}
}
}
控制台输出的错误提⽰:
java.lang.ArrayIndexOutOfBoundsException:3java中index是什么意思
at Test.main(Test.java:5)
flect.NativeMethodAccessorImpl.invoke0(Native Method)
flect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
flect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at flect.Method.invoke(Method.java:606)
at edu.rice.delpiler.JavacCompiler.runCommand(JavacCompiler.java:272)
这种错误很像我们下⾯即将说的字符串索引越界,这种错误的错误信息后⾯部分与错误不⼤相关。但是,第1⾏就告诉我们错误的原因是数组越界了,在我们上⾯的例⼦,⾮法的索引值是3,下⾯⼀⾏的错误信息告诉你错误发⽣在Test类的第5⾏上,在main⽅法之内
public class Test {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
当处理数组越界时,打印出遍历数组的索引⼗分有帮助,这样我们就能够跟踪代码到为什么索引达到了⼀个⾮法的值

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。