ホームページ >Java >&#&チュートリアル >Javaのシャローコピーの使い方

Javaのシャローコピーの使い方

PHPz
PHPz転載
2023-05-02 15:01:061676ブラウズ

1. コンセプト

浅いコピーは新しいオブジェクトを作成します。新しいオブジェクトは、元のオブジェクト自体とは関係がありません。新しいオブジェクトは、元のオブジェクトと等しくありません。オブジェクトですが、新しいオブジェクトです。プロパティは古いオブジェクトのプロパティと同じです。

(1) 属性が基本型 (int、double、long、boolean など) の場合、基本型の値がコピーされます。

# (2) 属性が参照型で、コピーされるのはメモリ アドレスである場合 (つまり、参照はコピーされますが、参照されるオブジェクトはコピーされません)、オブジェクトの 1 つがアドレスを変更すると、そのアドレスが変更されます。他のオブジェクトに影響を与えます。

2. 原則

プロトタイプ オブジェクトのメンバー変数が値型の場合、複製されたオブジェクトにコピーがコピーされます。ヒープ内の独立した空間。プロトタイプ オブジェクトのメンバー変数が参照型の場合、参照オブジェクトのアドレスがクローン オブジェクトにコピーされます。これは、プロトタイプ オブジェクトとクローン オブジェクトのメンバー変数が同じメモリを指すことを意味します。住所。つまり、浅いクローン作成では、オブジェクトがコピーされるとき、それ自体と、オブジェクトに含まれる値型のメンバー変数のみがコピーされ、参照型のメンバー オブジェクトはコピーされません。

3. インスタンスを使用します

コピーする必要があるクラスに

Cloneable インターフェイスを実装し、その clone()メソッド##をオーバーライドします。 #rreee

以上がJavaのシャローコピーの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。