是什么ArrayIndexOutOfBoundsException意思,我该如何摆脱呢?
这是触发异常的代码示例:
String[] name = { "tom", "dick", "harry" };
for (int i = 0; i <= name.length; i++) {
System.out.println(name[i]);
}
您的第一个停靠港应该是能够对其进行合理清晰解释的文档:
抛出该错误指示数组已使用非法索引访问。索引为负或大于或等于数组的大小。
因此,例如:
int[] array = new int[5];
int boom = array[10]; // Throws the exception
至于如何避免...嗯,不要那样做。小心数组索引。
人们有时会遇到的一个问题是认为数组是1索引的,例如
int[] array = new int[5];
// ... populate the array here ...
for (int index = 1; index <= array.length; index++)
{
System.out.println(array[index]);
}
这将错过第一个元素(索引0),并在索引为5时引发异常。此处的有效索引为0-4(含0和4)。正确的惯用语for是:
for (int index = 0; index < array.length; index++)
(当然,这是假设您需要索引的。如果可以使用增强的for循环,请这样做。)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。