我正在使用数据库中的数据验证我的数据列表,以避免重复插入数据库,如果存在重复,那么我想要该文件的索引在文件中,使用下面的代码,
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,而不是现有记录索引的索引。
答案 0 :(得分:3)
您需要在hashCode
和equals
类中实施StudentMaster
和StudentMasterVO
方法,以便正确比较它们的相等性。
如果您正在使用Eclipse(或任何其他IDE),那么它可以为您生成这些方法,只需选择比较时要考虑哪些字段。
如果您不熟悉这个概念,请参阅本文:http://www.javaworld.com/community/node/1006