Java 在for循环中覆盖新值和以前值的数据

Java 在for循环中覆盖新值和以前值的数据,java,loops,Java,Loops,我想比较以前的值和来自循环的新值,并基于一些行的数据增量。为此,我像下面这样做,但由于我在执行内部For循环,数据被覆盖。我如何执行此操作 for (RecordData recordData : recordDataList) { prevRespondentId = recordData.getRespondentId(); if (recordData.getRespondentId() != prevRespondentId) {

我想比较以前的值和来自循环的新值,并基于一些行的数据增量。为此,我像下面这样做,但由于我在执行内部For循环,数据被覆盖。我如何执行此操作

    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();
 }