0

我想比较来自循环的前一个值和新值,并根据数据增加一些行。为此,我正在执行如下操作,但数据被覆盖,因为我在 for 循环内部进行操作。我该如何执行此操作。

    for (RecordData recordData : recordDataList) {      
        prevRespondentId = recordData.getRespondentId();
        if (recordData.getRespondentId() != prevRespondentId) {
             rowDataNumber++;
        }
        prevRespondentId = recordData.getRespondentId();
    }

我有像 1,2,3 这样的数据作为受访者 ID,我需要根据该增量数据查看新的和上一个。

4

3 回答 3

1

这会解决你的问题吗?

    prevRespondentId = recordDataList.get(0).getRespondentId(); //Initialize to first or default value probably -1?

    for (RecordData recordData : recordDataList) {
                if (recordData.getRespondentId() != prevRespondentId) {
                rowDataNumber++;
            }
            prevRespondentId = recordData.getRespondentId();
        }

基本上,您甚至在检查 prevRespondentId 之前就已覆盖它,这导致了问题。

于 2012-10-16T10:04:45.917 回答
0

很难理解你试图做什么,但可能是这样的:

for (RecordData recordData : recordDataList) {
        if (recordData.getRespondentId() != prevRespondentId) {
            rowDataNumber++;
        }
        prevRespondentId = recordData.getRespondentId();
}

在完成 if 检查之前,基本上不要覆盖 preRespondentId。这将确保它始终是之前的受访者 ID。你当然需要初始化它。

希望有帮助。

于 2012-10-16T10:04:47.503 回答
0
 ..some type.. prevRespondentId = -1;
 for (RecordData recordData : recordDataList) {
     if (recordData.getRespondentId() != prevRespondentId) {
         rowDataNumber++;
     }
     prevRespondentId = recordData.getRespondentId();
 }
于 2012-10-16T10:05:05.640 回答