1

現在参加しているクラスをそのクラスの新しいインスタンスで更新する方法はありますか?例えば:

public class Test
{
  Test temp = new Test();
  this = temp;
}

シリアル化可能な保存/ロード機能フォームがあり、それから現在のクラスを更新する方法が必要なため、これを行っています

4

1 に答える 1

1

いいえ、Java変数はオブジェクトへの参照を格納するため、機能しthis = ...ません。Javaが、の現在のインスタンスを参照するすべての場所を追跡しTemp、それらが指すメモリ参照を変更する方法はありません。

次善の策は、あるオブジェクトから別のオブジェクトにすべてのフィールドをコピーすることです。ただし、これには独自の問題があります。

于 2012-11-09T00:36:15.357 に答える