在Java中,我们可以通过以下方法销毁Singleton对象。
public class MySingleton {
private static MySingleton ourInstance = null;
private MySingleton() {
}
public static MySingleton getInstance() {
if(ourInstance == null)
ourInstance = new MySingleton();
return ourInstance;
}
private void destroy(){
ourInstance = null;
}
}
因此,构造函数将在下次调用。
同样,如何销毁Kotlin Singleton对象。
object CacheManager{
init {
//some operations
}
fun destroy(){
//How to destroy?
}
}
我需要销毁Object并再次调用init块。
我怎样才能做到这一点?
最佳答案
这在Kotlin中是不可能的。对象不具有被破坏的概念。如果需要这种可能性,则不应使用object
,而应使用常规的class
并手动实现销毁逻辑,这与您在Java中的操作类似。