私はまた私がarray2.clear()
をきれいにし、配列1から1を必要なすべてのものは、配列2に追加する前に、私は、チェックしないデフォルトboolean check = false;
2つのArrayListを作成するには、別々の変更がありますか?
を持つ2つのArrayList、Itemクラスで
ArrayList<Item> array1 = new ArrayList<>();
// and
ArrayList<Item> array2 = new ArrayList<>();
を持っている:
array2.clear();
for (Item i : array1) {
if (.....) {
array2.add(i);
}
}
配列2の場合boolean check
がfalse
からtrue
に変更された場合、配列1でも変更されます。どのようにそれらを別々にしておくと、次回はarray2に要素を追加するブールチェックはtrue
としてコピーされませんか?
具体的な問題を明確にしたり、詳細を追加して必要なものを正確に強調してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。この質問を明確にする方法については、How to Askページを参照してください。 –
これは 'Item'の問題であるようですが、' ArrayList'の問題ではありません。 –
[pass-by-valueとpass-by-referenceの違いについて]を読むべきです(http://stackoverflow.com/questions/373419/whats-the-difference-between-passing-by-reference-vs-値渡し)。 Javaは、値渡しのプリミティブ以外のすべての場合で参照渡しです。 – user3707125