java.util.ConcurrentModificationException原因和处理

private void deleteNegativeData(List payData) {
        //一边删除一边循环,会报错java.util.ConcurrentModificationException
        /*for (ReceiptResponse.AvailableInvoiceListBean bean : payData) {
            if (bean.getAvailable_amt() < 0) {
                payData.remove(bean);
            }
        }*/

        //使用迭代器即可,或者使用一个新的数组来放添加删除元素后的新数组
        Iterator iterator = payData.iterator();
        while(iterator.hasNext()){
            ReceiptResponse.AvailableInvoiceListBean bean = iterator.next();
            if (bean.getAvailable_amt() < 0) {
                iterator.remove();
            }
        }
    }

 

你可能感兴趣的:(Java)