データベースにロードするオブジェクトリストを作成しています。コードを実行したところ、永続化されているオブジェクトは1つだけであることがわかりました。
デバッグ後、自分のコードがリストの最初のオブジェクトをロードしてから、リストの他のオブジェクトのクローンを作成していることに気付きました。最終的なリストで、ロードされた同じデータのリストを取得していました(arraylistは、sabeデータを含む複数のオブジェクトで終了します)。私のコード。
...
SimpleDateFormat f = new SimpleDateFormat("yyyy-mm-dd HH:MM:SS");
ArrayList<MyObject> MyObjectList= new ArrayList<MyObject>();
MyObject myObject= new MyObject();
String line;
while ((line = br.readLine()) != null) {
result = line.split("\\;");
try {
myObject.setDate(f.parse(result[0]));
} catch (ParseException e) {
e.printStackTrace();
}
myObject.setPar1(result[1]);
myObject.setPar2(result[2]);
myObject.setPar3(result[3]);
myObject.setPar4(result[4]);
myObjectList.add(myObject);
loadMyObjectListToDatabase(myObjectList);
}
ループ内で同じオブジェクトを更新および追加するだけで、次のようにオブジェクトの作成をループ内に移動します。
while ((line = br.readLine()) != null) {
MyObject myObject= new MyObject();
......
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加