ArrayList を新しい参照に割り当てると、元のオブジェクトにどのような影響がありますか?

Patricia Arquette
リリース: 2024-11-20 12:47:11
オリジナル
361 人が閲覧しました

How does assigning an ArrayList to a new reference affect the original object?

割り当てでの 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 c) コンストラクターを使用することです。c は元のコレクションです。

List<Integer> newList = new ArrayList<>(l1);
ログイン後にコピー

これにより、別の参照とコピーを持つ新しい ArrayList オブジェクトが作成されます。 l1.

の要素

以上がArrayList を新しい参照に割り当てると、元のオブジェクトにどのような影響がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート