【发布时间】:2014-09-11 06:41:14
【问题描述】:
我最近才知道enum 是一种更有效的实现单例的方法。
单例enum:
public enum Singleton{
INSTANCE;
public void doStuff(){
//......
}
public void doMoreStuff(){
//......
}
}
单例class:
public class Singleton{
private static final INSTANCE = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return INSTANCE;
}
public void doStuff(){
//......
}
public void doMoreStuff(){
//......
}
}
问题:使用枚举而不是类来实现单例有哪些可能的优点或缺点?
【问题讨论】:
-
这方面的福音来自 Joshua Bloch:Item 3: Enforce the singleton property with a private constructor or an enum type
-
单身人士是邪恶的。改用注入。
-
@Duncan:所以,根据文章,“单元素枚举类型是实现单例的最佳方式”? eitanfar:可能是,但我需要知道哪个更好。
-
What is an efficient way to implement a singleton pattern in Java? 的可能重复项在那里进行了广泛讨论。
-
查看所有答案和 cmets。讨论了各种单例模式。
标签: java class enums singleton