是什么 ArrayIndexOutOfBoundsException 我的意思是我该怎么摆脱它?下面是触发异常的代码示例:
ArrayIndexOutOfBoundsException
String[] names = { "tom", "bob", "harry" }; for (int i = 0; i <= names.length; i++) { System.out.println(names[i]); }
yvt65v4c16#
你越来越 ArrayIndexOutOfBoundsException 由于 i<=name.length 部分。 name.length 返回字符串的长度 name ,也就是3。因此,当您尝试访问 name[3] ,它是非法的,并引发异常。解析代码:
i<=name.length
name.length
name
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 可以是正或零。
public final
length
9wbgstp717#
arrayindexoutofboundsexception每当出现此异常时,它意味着您试图使用超出其界限的数组索引,或者在外行术语中,您请求的索引比您初始化的要多。为了避免这种情况,请始终确保您没有请求数组中不存在的索引,即,如果数组长度为10,则索引的范围必须介于0到9之间
17条答案
按热度按时间yvt65v4c16#
你越来越
ArrayIndexOutOfBoundsException
由于i<=name.length
部分。name.length
返回字符串的长度name
,也就是3。因此,当您尝试访问name[3]
,它是非法的,并引发异常。解析代码:
它是在java语言规范中定义的:
这个
public final
字段length
,它包含数组的组件数。length
可以是正或零。9wbgstp717#
arrayindexoutofboundsexception每当出现此异常时,它意味着您试图使用超出其界限的数组索引,或者在外行术语中,您请求的索引比您初始化的要多。
为了避免这种情况,请始终确保您没有请求数组中不存在的索引,即,如果数组长度为10,则索引的范围必须介于0到9之间