java.util.ConcurrentModificationException异常处理

原因:我在使用jdk1.7的时候要把ArrayList中的一些数据过滤一下写了如下代码:

        for (UserTrial userTrial : couponsByUserId) {
         
            for (BonusPoint allReductionCoupon : allReductionCoupons) {
                if (userTrial.getActivity().equals(allReductionCoupon.getActivity())){
                    allReductionCoupons.remove(allReductionCoupon );
                }
            }

即我想把couponsByUserId中有的数据在allReductionCoupons删除:运行报错!

 

 

 原因:我在遍历allReductionCoupons时试图删除其中的一条数据,出现异常。

       内部原因可见这个博客

作者:Matrix海子

 最终修改下:

      for (UserTrial userTrial : couponsByUserId) {
            JSONObject object = new JSONObject();
            BonusPoint ishave = null;
            for (BonusPoint allReductionCoupon : allReductionCoupons) {
                if (userTrial.getActivity().equals(allReductionCoupon.getActivity())){
                    ishave = allReductionCoupon;
                    break;
                }
            }
            if(ishave!=null){
                allReductionCoupons.remove(ishave);
            }

 

 

 

 

 

 

 

posted @ 2019-11-05 18:12  龙牙xz  阅读(206)  评论(0编辑  收藏  举报