java.util.NoSuchElementExceptionの解決策

1970 ワード

最近1つのプロジェクトをして、プロジェクトの実行時、いつもヒント:java.util.NoSuchElementException.エラーはcodeの行番号に具体的にはないので、debug.今日やっと見つけたroot cause,so share it:
エラーメッセージ:
[java] Exception in thread "main"java.util.NoSuchElementException     [java]         at java.util.AbstractList$Itr.next(AbstractList.java:350)     [java]         at sprint.reporter.SprintReporter.process(Unknown Source)     [java]         at sprint.main.SprintMain.main(Unknown Source)     [java] Java Result: 1
位置を間違える:あるinteratorが境界を越えたと推測する.
        while(iter.hasNext()) {
              ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(iter.next().getID(),iter.next().getPkey()); //Root cause
              if(undoneUserStoriesList.size() >0){
                  willdonefeautre--;
               }

 
修正:
Root causeは実はiterを1回多く使ったのですnext()なので、反復器エラーを報告しました.
       while (iter.hasNext()) {
               JIRAFeature jirafeaturetemp = iter.next();
               ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(jirafeaturetemp.getID(),jirafeaturetemp.getPkey());
                if(undoneUserStoriesList.size() >0){
                   willdonefeautre--;
                }