ArrayList java.lang.ArrayIndexOutOfBoundsException:length = 10;指数= 10

时间:2014-09-25 18:35:00

标签: java indexoutofboundsexception

我对此错误感到困惑。

java.lang.ArrayIndexOutOfBoundsException: length=10; index=10

以下是导致异常的代码。 'keys'是一个ArrayList。

    for (int i = 0; i < keys.size(); i++) {
        if (values[i] != null) {
            contentValues.put(keys.get(i), String.valueOf(values[i]));
        }
    }

可能导致outOfBoundsException的原因是什么?

2 个答案:

答案 0 :(得分:1)

我的猜测是错误发生在if声明中。你怎么知道values[i]存在?您没有在values上进行迭代,而是在keys上进行迭代。

但是,你没有给我们足够的信息来确定。这会发生什么线?

答案 1 :(得分:1)

错误非常自我解释。您尝试访问的索引不存在。 Java使用基于零的索引。这意味着,如果您的大小为10,则其索引为0-9

for循环中,您永远不会检查values[i]是否可以达到10;这显然不可能。

根据它的外观,values[]的大小为10keys更大。

相关问题