0

我正在使用数据库中的数据验证来自文件的数据列表以避免重复插入数据库,如果存在重复,那么我想要文件中该记录的索引,使用下面的代码,

List<StudentMaster> studentMasterListFromDB = studentMasterDao.getStudentList();
List<StudentMasterVO> studentMasterListFromFile = getStudentMasterListFromFile();

for(int index=0;index<studentMasterListFromDB.size();index++){
    StudentMasterVO studentMasVO = new StudentMasterVO();
    StudentMaster studentMaster = studentMasterListFromDB.get(index);       
    BeanUtils.copyProperties(studentMasVO, studentMaster);      
    int indexOfexistingRec = studentMasterListFromFile.indexOf(studentMasVO);
    System.out.println("indexOfexistingRec :"+indexOfexistingRec);


}

但是“indexOfexistingRec”值给出-1,而不是现有记录索引的索引。

4

1 回答 1

3

您需要在您的和类中实现hashCodeequals方法,以便正确比较它们是否相等。StudentMasterStudentMasterVO

如果您使用的是 Eclipse(或任何其他 IDE),那么它可以为您生成这些方法,只需选择比较时要考虑哪些字段。

如果您不熟悉这个概念,请参阅这篇文章:http ://www.javaworld.com/community/node/1006

于 2013-10-26T10:25:46.253 回答