美文网首页
list remove 失效的解决方式

list remove 失效的解决方式

作者: 阳光下的美好_6e13 | 来源:发表于2018-10-08 17:52 被阅读79次

    不能使用list直接删除对象,要使用Iterator

     Iterator<CouponsVO> iterator=viewModel.usedCoupons.get().iterator();
    
            if(couponsVO.isChecked()){
                viewModel.usedCoupons.get().add(couponsVO);
            }else{
    
                while (iterator.hasNext()) {
                    CouponsVO c = (CouponsVO) iterator.next();
                    if (couponsVO.getThqNO().equals(c.getThqNO())) {
                        iterator.remove();
                    }
    
                }
    
                //删除无效
                //viewModel.usedCoupons.get().remove(couponsVO);
                //viewModel.usedCoupons.notifyChange();
    
               /* 会发生生ConcurrentModificationException异常
                *for(CouponsVO c:viewModel.usedCoupons.get()){
                 *   if(c.getThqNO().equals(couponsVO.getThqNO())) viewModel.usedCoupons.get().remove(c);
                }*/
    

    相关文章

      网友评论

          本文标题:list remove 失效的解决方式

          本文链接:https://www.haomeiwen.com/subject/awmjaftx.html