建立在SO问题Best Singleton Implementation In Java问题的基础上-即关于使用枚举创建一个单例-之间的区别/优点/缺点(省略构造函数)
public enum Elvis {
INSTANCE;
private int age;
public int getAge() {
return age;
}
}
然后调用
Elvis.INSTANCE.getAge()
和
public enum Elvis {
INSTANCE;
private int age;
public static int getAge() {
return INSTANCE.age;
}
}
然后调用
Elvis.getAge()
最佳答案
假设您要绑定(bind)到将使用给定对象的属性的东西-您可以非常轻松地传递Elvis.INSTANCE,但是您不能传递Elvis.class并期望它找到该属性(除非它经过故意编码才能找到类的静态属性)。
基本上,仅在需要实例时才使用单例模式。如果静态方法适合您,则只需使用这些方法,而不必理会枚举。
关于java - 在Java中将枚举用作单例的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/427902/