java.util.ConcurrentModificationException
遇到过这样的一个错误。发生于对list遍历中,给list进行删除的情况中。
for (int i = 0; i < FieldsList.size(); i++) { String field = FieldsList.get(i); if(field.toLowerCase().contains(tmptableName.toLowerCase())){ if(startIndex != BeginIndex){ FieldsList.remove(field); } } }
解决方法,将要删除的元素用一个List存起来,然后再求两个list的差集。
List<String> FieldsListRemove = new ArrayList<>(); for(String field : FieldsList) { System.out.println(field); if(field.toLowerCase().contains(tmptableName.toLowerCase())){ if(startIndex != BeginIndex){ FieldsListRemove.add(field); } } } FieldsList.removeAll(FieldsListRemove);