java有默认实现来恢复原始对象状态吗?

Yar*_*arh 0 java

基本上,我想将对象重置为默认状态.我想到以下几点:

// first declaration
Object a = new Object();
/* 
some job over object
*/
//assign a new object to reset it
a= new Object();
Run Code Online (Sandbox Code Playgroud)

另一个想法是在对象类中创建方法,它将设置所需的值,所以

a.reset();
Run Code Online (Sandbox Code Playgroud)

有没有一些默认的方法来做到这一点,还是有人有更好的主意?

Jon*_*eet 7

有没有一些默认的方法来做到这一点

不.这是相对棘手的,因为大概你想要传递它 - 但如果你有一个不同的对象引用一些相同的对象,你可能会导致问题,你不想重置它:

Date d = ...;
Foo x = new Foo();
Foo y = new Foo();
x.setDate(d);
y.setDate(d);
d.setTime(d.getTime() + 1000L);
x.reset();
Run Code Online (Sandbox Code Playgroud)

Date对于两个Foo对象中的引用,应该怎么做?

这需要根据具体情况加以考虑,而且你可以使用的不变性越多越好 - 但默认情况下没有提供,没有.