ホームページ  >  記事  >  Java  >  Javaのディープコピーとシャローコピーの違いは何ですか

Javaのディープコピーとシャローコピーの違いは何ですか

王林
王林転載
2020-07-04 16:58:343251ブラウズ

Javaのディープコピーとシャローコピーの違いは何ですか

#差異分析:

(推奨学習:

java エントリー プログラム )

浅いコピー

コピーされたオブジェクトのすべての変数には元のオブジェクトと同じ値が含まれており、他のすべてのオブジェクトからの参照は引き続き元のオブジェクトを指します。

言い換えると、浅いコピーは、対象のオブジェクトのみをコピーし、それが参照するオブジェクトはコピーしません。

ディープコピー

コピーされたオブジェクトのすべての変数には、他のオブジェクトを参照する変数を除き、元のオブジェクトと同じ値が含まれます。他のオブジェクトを参照する変数は、元の参照オブジェクトではなく、コピーされた新しいオブジェクトを指します。

つまり、ディープ コピーは、コピーされたオブジェクトによって参照されるすべてのオブジェクトをコピーします。

(ビデオ チュートリアルの推奨:

java ビデオ チュートリアル)

次のようにクラスを定義します。

class Test {
    public int i;
    public StringBuffer s;
}

次の図は、このクラスのオブジェクトのコピーを示しています。クラス シャロー コピーとディープ コピーの違い:

Javaのディープコピーとシャローコピーの違いは何ですか

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

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