私は非常に長い間これで立ち往生しています。
次のコードがクローンを作成するかどうか教えてください。
class A
{
int i;
int j;
String str;
A()
{
i=10;
j=30;
str="Hello";
}
A(A a)
{
this.i=a.i;
this.j=a.j;
this.str=a.str;
}
}
class B
{
public static void main(String args[])
{
A a = new A();
A a1 = new A(a);
/* I want to make clone like this. */
}
}
このコードを実行するときと、aとa1のハッシュコードを出力するときは、それらは異なります。しかし、私の友人の何人かは、これはクローンを作る正しい方法ではないと言います。Cloneableインターフェースを実装する必要がありますが、それは本当に必要ですか?私の意見では、派生参照変数の場合でもディープコピーを作成したい場合は、良いアプローチになる可能性があります。ありがとうございました。