Java Object clone() メソッド

Java String类Java Object クラス


Object clone() メソッドは、オブジェクトのコピーを作成して返すために使用されます。

clone メソッドはシャローコピーであり、オブジェクト内の属性が参照するオブジェクトは参照アドレスのみがコピーされ、参照されるオブジェクトにメモリが再割り当てされることはありません。これに対応するディープコピーでは、参照されるオブジェクトも再作成されます。

構文

object.clone()

パラメータ

  • 无 。

戻り値

オブジェクトのコピーを返します。

Object 自体は Cloneable インターフェースを実装していないため、clone メソッドをオーバーライドせずに呼び出すと、CloneNotSupportedException 例外が発生します。

例

次の例では、obj1 オブジェクトを作成し、obj1 を obj2 にコピーして、obj2 を通じて変数の値を出力します:

例

class サンプルTest implements Cloneable { //変数の宣言 String name; int likes; public static void main(String[] args) { //オブジェクトの作成 サンプルTest obj1 = new サンプルTest(); //変数の初期化 obj1.name = "サンプル"; obj1.likes = 111; //プリント出力 System.out.println(obj1.name); // サンプル System.out.println(obj1.likes); // 111 try { //obj1 のコピーを作成 サンプルTest obj2 = (サンプルTest) obj1.clone(); //obj2 を使用して変数を出力 System.out.println(obj2.name); // サンプル System.out.println(obj2.likes); // 111 } catch (Exception e) { System.out.println(e); } } }

上記のプログラムの実行結果は次のとおりです:

サンプル
111
サンプル
111

Java String类Java Object クラス

その他の拡張