2012-10-16 58 views
0

獲取索引超出界異常的異常比較數據

for (int recordData = 0; recordData < recordDataList.size(); recordData++) 
    { 
     RecordData nextRecordData = recordDataList.get(recordData + 1); 
     if (nextRecordData.getRespondentId() !=  
      recordDataList.get(recordData).getRespondentId()) { 
      rowDataNumber++; 
     } 
    } 

這裏大小爲3,但我需要與第二也比較第三數據。 我已經修改了我喜歡

for (int i = 1; i < recordDataList.size(); i++) { 
         RecordData recordData = recordDataList.get(i - 1); 
       RecordData nextRecordData = recordDataList.get(i); 
         commentData = recordData.getCommentText(); 
if (nextRecordData.getRespondentId() != recordData 
         .getRespondentId()) { 
        rowDataNumber++; 
       } 
} 

的大小是三我得到僅在commentData前兩個數據,是沒有得到所示的第三數據。

回答

3

當您將一個值與下一個值進行比較時,需要有下一個值。

您需要使用

for (int i = 0; i < recordDataList.size() - 1; i++) { 
    RecordData recordData = recordDataList.get(i); 
    RecordData nextRecordData = recordDataList.get(i + 1); 

for (int i = 1; i < recordDataList.size(); i++) { 
    RecordData recordData = recordDataList.get(i - 1); 
    RecordData nextRecordData = recordDataList.get(i); 
+0

我已編輯它不是最後一個值使用的代碼,最後一個數據是不是來 – pars

+0

你打算進行比較的最後一個值用?最後沒有「下一個」。 –

+0

考慮我在列表中有三個字符串a,b,c我在循環中比較每個字符串。只需要使用上面的循環顯示所有三個數據。 – pars