【发布时间】:2015-10-05 15:21:25
【问题描述】:
我一直在为这个错误而苦苦挣扎,但我不知道问题出在哪里。我的代码是这样的:
ArrayList<String> lTmpIndicsDesc = new ArrayList<String>(indicsDesc);
ArrayList<String> lTmpIndicsAvailableMark = new ArrayList<String>(indicsAvailableMark);
for (Iterator<String> itIndicsDesc = lTmpIndicsDesc.iterator(); itIndicsDesc.hasNext();) {
String sTmpIndicsDesc = itIndicsDesc.next();
for (Iterator<String> itIndicsAvailableMark = lTmpIndicsAvailableMark.iterator(); itIndicsAvailableMark.hasNext();) {
String sTmpIndicsAvailableMark = itIndicsAvailableMark.next();
if (sTmpIndicsDesc.toUpperCase().equals(sTmpIndicsAvailableMark.toUpperCase())) {
itIndicsDesc.remove();
}
}
}
它在 remove 调用时引发 IllegalStateException。
我一直想知道问题是否会出现,因为我正在删除列表的最后一项,但即使在过程中间它似乎也出现了错误。
各位大神能解释一下吗?
【问题讨论】:
标签: java parsing arraylist iterator