割り当てでの Java ArrayList オブジェクトの参照
ArrayList l1 が新しい参照 l2 に割り当てられる場合、l1 と l2 は異なる参照を指しません。 ArrayList オブジェクト。代わりに、l2 は l1 と同じ ArrayList オブジェクトへの参照を受け取ります。これは浅いコピーとして知られています。
l1 または l2 を介してリスト オブジェクトを変更すると、両方の参照に反映されます。例に示すように:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear();
l1 と l2 は両方とも同じオブジェクトを参照するため、l2 経由でリストをクリアすると l1 にも影響します。
ArrayList オブジェクトのコピーを作成するには、元の要素のコピーを含む新しいリストを作成する必要があります。これを実現する 1 つの方法は、ArrayList(Collection extends E> c) コンストラクターを使用することです。c は元のコレクションです。
List<Integer> newList = new ArrayList<>(l1);
これにより、別の参照とコピーを持つ新しい ArrayList オブジェクトが作成されます。 l1.
の要素以上がArrayList を新しい参照に割り当てると、元のオブジェクトにどのような影響がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。