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

andクラスにhashCodeandequalsメソッドを実装して、それらが等しいかどうか適切に比較されるようにする必要があります。StudentMasterStudentMasterVO

Eclipse (またはその他の IDE) を使用している場合は、これらのメソッドを生成できます。比較するときにどのフィールドを考慮するかを選択するだけです。

この概念に慣れていない場合は、たとえば次の記事を参照してください: http://www.javaworld.com/community/node/1006

于 2013-10-26T10:25:46.253 に答える