从集合List中删除对象,正确写法(异常java.util.ConcurrentModificationException

    xiaoxiao2025-08-13  9

    public class Main { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(null); list.add(2); list.add(null); // 错误写法 for (Integer i : list) { if (i == null) { list.remove(i); } } // 错误写法 Iterator<Integer> iteratorError = list.iterator(); while (iteratorError.hasNext()) { Integer i = iteratorError.next(); if (i == null) list.remove(i); //错误写法 } // 正确写法一 Iterator<Integer> iterator = list.iterator(); while (iterator.hasNext()) { Integer i = iterator.next(); if (i == null) iterator.remove(); //正确写法 } // 正确写法二 if (list != null && list.size() != 0) { for (int i = 0; i < list.size(); i++) { if (list.get(i) == null) { list.remove(i); } } } } }

    正确写法一最常用,异常原因分析http://www.cnblogs.com/dolphin0520/p/3933551.html

    转载请注明原文地址: https://ju.6miu.com/read-1301720.html
    最新回复(0)