我对此错误感到困惑。
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的原因是什么?
答案 0 :(得分:1)
我的猜测是错误发生在if
声明中。你怎么知道values[i]
存在?您没有在values
上进行迭代,而是在keys
上进行迭代。
但是,你没有给我们足够的信息来确定。这会发生什么线?
答案 1 :(得分:1)
错误非常自我解释。您尝试访问的索引不存在。 Java使用基于零的索引。这意味着,如果您的大小为10
,则其索引为0-9
在for
循环中,您永远不会检查values[i]
是否可以达到10
;这显然不可能。
根据它的外观,values[]
的大小为10
,keys
更大。