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