Java 在for循环中覆盖新值和以前值的数据
我想比较以前的值和来自循环的新值,并基于一些行的数据增量。为此,我像下面这样做,但由于我在执行内部For循环,数据被覆盖。我如何执行此操作Java 在for循环中覆盖新值和以前值的数据,java,loops,Java,Loops,我想比较以前的值和来自循环的新值,并基于一些行的数据增量。为此,我像下面这样做,但由于我在执行内部For循环,数据被覆盖。我如何执行此操作 for (RecordData recordData : recordDataList) { prevRespondentId = recordData.getRespondentId(); if (recordData.getRespondentId() != prevRespondentId) {
for (RecordData recordData : recordDataList) {
prevRespondentId = recordData.getRespondentId();
if (recordData.getRespondentId() != prevRespondentId) {
rowDataNumber++;
}
prevRespondentId = recordData.getRespondentId();
}
我有像1,2,3这样的数据作为响应者Id,我需要根据增量数据查看新的和上一个。这能解决您的问题吗
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();
}
基本上,您甚至在检查PreRespondentID之前就已经覆盖了它,这导致了问题。很难理解您试图做什么,但可能是这样的:
for (RecordData recordData : recordDataList) {
if (recordData.getRespondentId() != prevRespondentId) {
rowDataNumber++;
}
prevRespondentId = recordData.getRespondentId();
}
基本上,在完成if检查之前,不要覆盖preRespondentId。这将确保它始终是以前的响应者id。当然,您需要初始化它
希望有帮助
..some type.. prevRespondentId = -1;
for (RecordData recordData : recordDataList) {
if (recordData.getRespondentId() != prevRespondentId) {
rowDataNumber++;
}
prevRespondentId = recordData.getRespondentId();
}