当contents由contents = new ArrayList<>();或contents = Collections.synchronizedList(new ArrayList());这两种方式创建时,在contents.remove(str);时便会抛出如标题所示异常。解决方法如下:
List<String> contents = new CopyOnWriteArrayList<>(new ArrayList());//Collections.synchronizedList(new ArrayList<String>());//new ArrayList<>();
for (int i = 0 ; i < 100; i ++)
{
contents.add("list" + i);
}
for (String str: contents)
{
if (str.equals("list20"))
{
contents.remove(str);
}
}