gpt4 book ai didi

Java ArrayList 避免 IndexOutOfBoundsException

转载 作者:搜寻专家 更新时间:2023-10-31 08:10:57 24 4
gpt4 key购买 nike

我有一个简短的问题。

ArrayList<T> x = (1,2,3,5)

int index = 6
if (x.get(6) == null) {
return 0;
}

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 4

我怎样才能避免这种情况?我只想检查数组中是否有索引为 6 的内容。如果有 (null)/(nothing there) 我想返回 0。

最佳答案

只需使用列表的大小(它不是数组):

if (x.size() <= index || x.get(index) == null) {
...
}

或者,如果您想检测具有非空值的有效索引,您可以使用:

if (index < x.size() && x.get(index) != null) {
...
}

在这两种情况下,如果表达式的第一部分检测到索引对于列表无效,不会调用 get

请注意,“没有元素 6”(因为列表没有 7 个元素)和“有一个元素 6,但它的值为 null”之间存在逻辑差异 - 这对您来说可能并不重要在这种情况下,但您需要了解它是不同的。

关于Java ArrayList 避免 IndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24221948/

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