我有一个像这样创建的单例
private static class SingletonHolder {
public static Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
Run Code Online (Sandbox Code Playgroud)
我想在某个时间重置单例实例.(我确信此时重置单例实例是安全的).我试图删除最终说明符,并在我想重置它时将实例设置为null但问题是如何获取另一个实例(它将保持为null)
另一个问题是可以安全地删除SingletonHolder中的最终说明符.
谢谢
如果您确实需要重置单例实例(实际上这没有多大意义),您可以将其所有内部成员包装在私有对象中,并通过显式initialize()和reset()方法重新初始化。这样,您可以保留单例状态并提供某种“重置”功能。
| 归档时间: |
|
| 查看次数: |
16454 次 |
| 最近记录: |