我想比较来自循环的前一个和新值以及基于数据增量的一些行。为此我正在做如下但是数据被覆盖,因为我在内部进行循环。我可以执行此操作。
for (RecordData recordData : recordDataList) {
prevRespondentId = recordData.getRespondentId();
if (recordData.getRespondentId() != prevRespondentId) {
rowDataNumber++;
}
prevRespondentId = recordData.getRespondentId();
}
我有1,2,3这样的数据作为响应者ID,我需要根据该增量数据看到新的和上一个。
答案 0 :(得分: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,这导致了这个问题。
答案 1 :(得分:0)
很难理解你尝试做什么,但也许是这样的:
for (RecordData recordData : recordDataList) {
if (recordData.getRespondentId() != prevRespondentId) {
rowDataNumber++;
}
prevRespondentId = recordData.getRespondentId();
}
在你完成if检查之前,基本上不要覆盖preRespondentId。这将确保它始终是先前的受访者ID。你当然需要初始化它。
希望有所帮助。
答案 2 :(得分:0)
..some type.. prevRespondentId = -1;
for (RecordData recordData : recordDataList) {
if (recordData.getRespondentId() != prevRespondentId) {
rowDataNumber++;
}
prevRespondentId = recordData.getRespondentId();
}