是什么导致java.lang.arrayindexoutofboundsexception以及如何防止它?

r6l8ljro  于 2021-07-06  发布在  Java
关注(0)|答案(17)|浏览(570)

是什么 ArrayIndexOutOfBoundsException 我的意思是我该怎么摆脱它?
下面是触发异常的代码示例:

String[] names = { "tom", "bob", "harry" };
for (int i = 0; i <= names.length; i++) {
    System.out.println(names[i]);
}
yvt65v4c

yvt65v4c16#

你越来越 ArrayIndexOutOfBoundsException 由于 i<=name.length 部分。 name.length 返回字符串的长度 name ,也就是3。因此,当您尝试访问 name[3] ,它是非法的,并引发异常。
解析代码:

String[] name = {"tom", "dick", "harry"};
for(int i = 0; i < name.length; i++) { //use < insteadof <=
  System.out.print(name[i] +'\n');
}

它是在java语言规范中定义的:
这个 public final 字段 length ,它包含数组的组件数。 length 可以是正或零。

9wbgstp7

9wbgstp717#

arrayindexoutofboundsexception每当出现此异常时,它意味着您试图使用超出其界限的数组索引,或者在外行术语中,您请求的索引比您初始化的要多。
为了避免这种情况,请始终确保您没有请求数组中不存在的索引,即,如果数组长度为10,则索引的范围必须介于0到9之间

相关问题