<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評(píng)論 :: 0 Trackbacks
    今日在調(diào)試程序時(shí),出現(xiàn)了 java.util.ConcurrentModificationException,出錯(cuò)代碼如下:

    for(Iterator ite = candidateObjDtoList.iterator(); ite.hasNext(); ) {
           CandidateObjDto dto 
    = (CandidateObjDto)ite.next();
           
    if(dto.getType() == Constants.CANDIDATE_OBJ_TYPE_SET) {
                    dto.setVoteType(Constants.VOTE_TYPE_ABSTAIN);
           }
     else {
                   candidateObjDtoList.remove(dto);        
          }

    }
          在網(wǎng)上搜索到資料如下:
    在Map或者Collection的時(shí)候,不要用它們的API直接修改集合的內(nèi)容,如果要修改可以用Iterator的remove()方法,例如:
        
    public void setReparation( Reparation reparation ) {
            
    for (Iterator it = this.reparations.iterator();it.hasNext();){    //reparations為Collection
                Reparation repa = (Reparation)it.next();
                
    if (repa.getId() == reparation.getId()){
                    
    this.reparations.remove(repa);
                    
    this.reparations.add(reparation);
                }

            }

       }


    如上寫會(huì)在運(yùn)行期報(bào)ConcurrentModificationException,可以如下修改:

        
    public void setReparation( Reparation reparation ) {
            
    boolean flag = false;
            
    for (Iterator it = this.reparations.iterator();it.hasNext();){    //reparations為Collection
                Reparation repa = (Reparation)it.next();
                
    if (repa.getId() == reparation.getId()){
                    it.remove();
                    flag 
    = true;
                    
    break;
                }

            }

            
    if(flag){
              
    this.reparations.add(reparation);
            }

        }

         成功解決了所遇問題,成功后的代碼如下:
     
    for(Iterator ite = candidateObjDtoList.iterator(); ite.hasNext(); ) {
            CandidateObjDto dto 
    = (CandidateObjDto)ite.next();
            
    if(dto.getType() == Constants.CANDIDATE_OBJ_TYPE_SET) {
                    dto.setVoteType(Constants.VOTE_TYPE_ABSTAIN);
    //對(duì)該候選項(xiàng)投棄權(quán)票
            }
     else {
                     ite.remove();
            }

    }
       
    posted on 2008-11-03 16:07 seal 閱讀(259) 評(píng)論(0)  編輯  收藏 所屬分類: Java基礎(chǔ)
    主站蜘蛛池模板: 欧洲人成在线免费| 成年网在线观看免费观看网址 | 免费人成毛片动漫在线播放| 亚洲国产精品成人| 色一情一乱一伦一视频免费看| 日本免费一区尤物| 黄色网页免费观看| 国产91精品一区二区麻豆亚洲 | 免费99热在线观看| 免费看黄网站在线看 | 97人妻无码一区二区精品免费| 亚洲av永久无码精品天堂久久| 毛片a级毛片免费观看品善网| 亚洲日韩看片无码电影| 免费看大黄高清网站视频在线| 亚洲国产精品成人综合色在线| 国产成人啪精品视频免费网| 免费无码午夜福利片 | 日韩免费无砖专区2020狼| 亚洲AV成人无码网站| 亚洲免费在线观看| 七色永久性tv网站免费看| 亚洲国产精品综合一区在线| 国产精品免费看久久久久| 一级毛片a免费播放王色| 亚洲国产精品lv| 一个人免费观看www视频在线| 性色av极品无码专区亚洲| 国产偷窥女洗浴在线观看亚洲 | 青草草在线视频永久免费| 一级做a爰片性色毛片免费网站 | 丁香五月亚洲综合深深爱| 久久aa毛片免费播放嗯啊| 狠狠色香婷婷久久亚洲精品| 国产免费观看青青草原网站| 丰满人妻一区二区三区免费视频| 91亚洲一区二区在线观看不卡| 色吊丝永久在线观看最新免费| www成人免费视频| 亚洲一级高清在线中文字幕| 亚洲毛片不卡av在线播放一区|