Java 能帮助某人吗。解释为什么会发生这种异常
如果没有显示,请将字符串更改为delete(remove)save,然后重试。 日食朱诺 我尝试使用new String(),而不是文字,结果也是一样Java 能帮助某人吗。解释为什么会发生这种异常,java,eclipse,exception,Java,Eclipse,Exception,如果没有显示,请将字符串更改为delete(remove)save,然后重试。 日食朱诺 我尝试使用new String(),而不是文字,结果也是一样 链接中的PrintScreen-您在对列表进行迭代时正在修改列表-这不起作用。您可以尝试使用正常的for循环(使用索引,而不是foreach循环)从后向前迭代它,并在从后向前迭代时删除它。使用迭代器 List<String> list=new ArrayList<>(); list.add("aaa");
链接中的PrintScreen-您在对列表进行迭代时正在修改列表-这不起作用。您可以尝试使用正常的
for
循环(使用索引,而不是foreach
循环)从后向前迭代它,并在从后向前迭代时删除它。使用迭代器
List<String> list=new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ccc");
list.add("ddd");
Iterator<String> iterator=list.iterator();
while (iterator.hasNext()){
if("ddd".equals(iterator.next())){
iterator.remove();
}
}
System.out.println(list);
出现此问题的原因是,您正在对列表进行迭代,同时试图对其进行操作,
ArrayList
不支持means
检测集合中的修改和分析集合不是同步完成的。
这种行为称为快速失败迭代器
失败快速迭代器的示例有ArrayList
,HashSet
[aaa, bbb, ccc, ccc]