0

基本的に、オブジェクトをデフォルトの状態にリセットしたい。私は次のことを考えています。

// first declaration
Object a = new Object();
/* 
some job over object
*/
//assign a new object to reset it
a= new Object();

別のアイデアは、目的の値を設定するオブジェクト クラス内にメソッドを作成することです。

a.reset();

それを行うためのデフォルトの方法はありますか、または誰かがより良いアイデアを持っていますか?

4

4 に答える 4

7

それを行うためのデフォルトの方法はありますか

いいえ。おそらく推移的に実行したいので、比較的注意が必要ですが、同じオブジェクトのいくつかを参照するのオブジェクトがあり、それをリセットしたくない場合は、問題が発生する可能性があります。

Date d = ...;
Foo x = new Foo();
Foo y = new Foo();
x.setDate(d);
y.setDate(d);
d.setTime(d.getTime() + 1000L);
x.reset();

2 つのオブジェクトDate内で参照されるという点で、それは何をすべきでしょうか?Foo

これはケースバイケースで考慮する必要があり、使用できる不変性が多ければ多いほど良いですが、デフォルトでは何も提供されていません。

于 2013-09-02T09:18:18.037 に答える