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

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,而不是现有记录索引的索引。

最佳答案

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

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

例如,如果您不熟悉此概念,请参见本文:http://www.javaworld.com/community/node/1006

10-01 13:43