引子:看阿里开发手册时,其中提到不要在forEach里面进行元素的remove/add。否则会有错误发生,亲自试了一下,果然会有问题。如下
List<String> strList = new ArrayList<>();
strList.add("1");
strList.add("2");
for (String str : strList) {
if (Objects.equals("2", str)) {
strList.remove(str);
}
}
System.out.println(strList.toString());
其建议是这样
List<String> strList = new ArrayList<>();
strList.add("1");
strList.add("2");
Iterator iStr = strList.iterator();
while (iStr.hasNext()) {
String temp = iStr.next().toString();
if (Objects.equals("2", temp)) {
iStr.remove();