<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ǔ)
    主站蜘蛛池模板: 亚洲综合一区二区精品导航 | 亚洲性日韩精品国产一区二区| 污污网站免费观看| 一级毛片a女人刺激视频免费| 久久综合久久综合亚洲| 亚洲国产精品无码久久一线| 全部免费毛片在线| 成人一a毛片免费视频| 1000部拍拍拍18勿入免费凤凰福利| av片在线观看永久免费| 18禁亚洲深夜福利人口| 久久亚洲精品国产亚洲老地址| 亚洲精品在线观看视频| 亚洲精品高清无码视频| 91在线老王精品免费播放| 香蕉免费一级视频在线观看| 免费的黄网站男人的天堂| 亚洲AV永久无码精品放毛片| 亚洲人成网站在线观看播放青青| 久久综合亚洲色一区二区三区| 日本亚洲视频在线| 亚洲熟妇无码八AV在线播放| 亚洲精品无码AV中文字幕电影网站| 免费看美女被靠到爽的视频| 无人在线观看免费高清视频| 四虎永久在线观看免费网站网址 | 暖暖日本免费在线视频| 黄色成人网站免费无码av| 亚洲性线免费观看视频成熟| 麻豆高清免费国产一区| 亚洲一区二区三区免费视频| 91精品成人免费国产片| 91免费在线播放| 无码乱肉视频免费大全合集| 永久免费毛片在线播放| 18禁超污无遮挡无码免费网站国产| 免费无码A片一区二三区| 免费人成网站在线观看10分钟| 一级女人18毛片免费| 日韩吃奶摸下AA片免费观看| 久久久久国产精品免费免费搜索|