gpt4 book ai didi

数组映射上的 Java ArrayIndexOutOfBounds 异常

转载 作者:行者123 更新时间:2023-12-02 01:59:31 25 4
gpt4 key购买 nike

我有一个在 ArrayMap 键上迭代的代码,并且由于未知原因出现了数组索引越界异常

来自 Crashalytics:

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException
length=56; index=56
android.util.ArrayMap$1.colGetEntry (ArrayMap.java:763)
android.util.MapCollections$ArrayIterator.next (MapCollections.java:55)

代码如下:

private ArrayMap<String,RequestData> handlers = new ArrayMap<>();

public void removeAllHandlers() {
synchronized (handlers) {
for (String s : handlers.keySet()) {
handlers.remove(s);
}
}
}

异常发生在这一行:for (String s : handlers.keySet())

知道我做错了什么吗?

最佳答案

迭代时无法从 MapList 中删除。使用Map/List的内部clear方法。例如,handlers.clear();

代码:

private ArrayMap<String,RequestData> handlers = new ArrayMap<>();

public void removeAllHandlers() {
synchronized (handlers) {
handlers.clear();
}
}

关于数组映射上的 Java ArrayIndexOutOfBounds 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51836896/

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