Java の Clone() とコピー コンストラクターを理解する
Java の clone() メソッドの非効率性について議論が巻き起こっています。従来のコピー コンストラクターに対する使用法。
Clone Method
Clone() は、フィールドと参照を複製することでオブジェクトの浅いコピーを返すインスタンス メソッドです。同じ内容の新しいオブジェクトを作成することが約束されていますが、このメソッドには制限があります:
コピーConstructor
コピー コンストラクターは、同じクラスの既存のオブジェクトの値を使用して新しいオブジェクトを初期化する特別なコンストラクターです。 clone() とは異なり、コピー コンストラクター:
推奨される使用法
clone() には欠点があるため、Java での使用は一般的に推奨されません。開発者は、コピー コンストラクターや専用の copy(...) メソッドなどのディープ コピー メソッドを使用することをお勧めします。
// Deep Copy using a Copy Method public Foo deepCopy() { Foo f = new Foo(); // Copy all properties f.setProperty1(this.getProperty1()); f.setProperty2(this.getProperty2()); return f; }
結論
安全かつ信頼性の高いオブジェクトのコピーのためにJava の場合、開発者は clone() の欠点を避け、コピー コンストラクターやカスタム コピー メソッドなどのディープ コピー手法を選択する必要があります。
以上がJava の Clone() とコピー コンストラクター: ディープ コピーにはどちらの方法を選択する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。