java - 增强了(或 'for each' )循环迭代到它刚刚删除的元素 - 抛出错误

标签 java xml loops for-loop foreach

在此找不到任何信息,想知道是否有人知道此问题或可能的解决方法。我正在使用 JDOM 并使用 xml 模式。

我创建了一个列表,其中只有 xml 标签。该算法的目的是遍历元素列表并在满足条件时删除元素(在这种情况下,如果它以某个字符串开头)。见下文:

for (Element appinfo : appinfos) {

                    if (appinfo.getText().startsWith(
                            PARAMETER_DESCRIPTION_APPINFO)) {
                         removeAppInfoElement(appinfo, name, appinfo.getText());
                    }
}

但是,循环似乎试图迭代到它刚刚删除的元素。 有人看到这有什么问题吗?我是否需要放弃增强的 for 循环或更深入地挖掘问题的原因?

最佳答案

我猜你说的是 ConcurrentModificationException .尝试改用迭代器。

关于java - 增强了(或 'for each' )循环迭代到它刚刚删除的元素 - 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134739/

相关文章:

java - HTTP 状态 500 - java.lang.ExceptionInInitializerError --> Java Restful Web 服务

java - 常见 nlp 任务的效率

c# - XmlReader 始终根据另一个 Xsd 文件验证 Xsd 文件是否有效

javascript - 如何在循环内将元素传递给 jQuery post

javascript - 在附加以在 D3 中创建正方形网格时为 x 和 y 属性创建循环

java - 如何标记数组中的重复项?

java - 一步一步...使用 NFC 读取标签

PHP 使用 SimpleXML 处理命名空间

java - 加载自定义 Android View 时出错 : Resources$NotFoundException: Resource ID #0x7f060007 type #0x12 is not valid

java - 字符串数组的索引