私はカスタムオブジェクトを含むArrayListを持っています。最初のリストと同じオブジェクトを含む新しいArrayListを作成しますか?
全く同じコンテンツを持ちますが、同じ参照を使用していない別のArrayListを作成する最適な方法は何ですか?リスト1の最初のオブジェクトを編集すると、list2の最初のオブジェクトには触れませんが、それ以外の場合は同じように見えます。
次の操作を行うのは正しい/適切な方法であると考えられますか、それとも組み込みの方法ですか?
List<MyObject> firstList = getArrayListFromSQLiteDb(criteria);
List<MyObject> secondList = new ArrayList<>();
for (MyObject object : firstList) {
MyObject newObject = new MyObject();
newObject.setField1(object.getField1());
newObject.setField2(object.getField2());
newObject.setField3(object.getField3());
secondList.add(newObject);
}
あなたの行っていることはちょうど良いことです。しかし、注意してください。いずれかのフィールドが参照の場合、それらはコピーされ、それはあなたが望むものではないように聞こえるでしょう。 –
リスト firstList = getArrayListFromSQLiteDb(条件);リスト secondList = new ArrayList (firstList); –
@ManuAG onkeyの場合は、[documentation](https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html)を参照してください。 –