0

の範囲外の例外を取得するインデックス

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

ここでサイズは 3 です。ただし、3 番目のデータと 2 番目のデータも比較する必要があります。いいねを修正しました

    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++;
                }
}

サイズは 3 です。commentData で最初の 2 つのデータのみを取得しています。3 番目のデータは表示されません。

4

1 に答える 1

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);
于 2012-10-16T10:52:51.420 に答える