gpt4 book ai didi

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

转载 作者:bug小助手 更新时间:2023-10-28 10:39:10 27 4
gpt4 key购买 nike

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

下面是一个触发异常的代码示例:

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

最佳答案

您的第一个停靠港应该是 documentation这解释得很清楚:

Thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array.

例如:

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 包括在内。这里正确的、惯用的 for 语句是:

for (int index = 0; index < array.length; index++)

(当然,这是假设您需要索引。如果您可以改用增强的 for 循环,请这样做。)

关于java - 是什么导致 java.lang.ArrayIndexOutOfBoundsException 以及如何防止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5554734/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com