开发者社区> 问答> 正文

是什么导致java.lang.ArrayIndexOutOfBoundsException,如何防止

是什么ArrayIndexOutOfBoundsException意思,我该如何摆脱呢?

这是触发异常的代码示例:

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

展开
收起
垚tutu 2019-12-19 16:14:12 916 0
1 条回答
写回答
取消 提交回答
  • #include

    您的第一个停靠港应该是能够对其进行合理清晰解释的文档:

    抛出该错误指示数组已使用非法索引访问。索引为负或大于或等于数组的大小。

    因此,例如:

    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循环,请这样做。)

    2019-12-19 16:14:32
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
OpenCrypto Unchaining the Java 立即下载
Java Your(Next) 立即下载
EXTENDING SPARK WITH JAVA AGEN 立即下载