在Java中将枚举用作单例的最佳方法是什么?

在SO问题上编写的内容基础上构建Java最佳单例实现 -即关于使用枚举创建单例-之间的区别/优点/缺点(省略构造函数)

public enum Elvis {

INSTANCE;

private int age;

public int getAge() {

return age;

}

}

and then calling Elvis.INSTANCE.getAge()

public enum Elvis {

INSTANCE;

private int age;

public static int getAge() {

return INSTANCE.age;

}

}

and then calling Elvis.getAge()

回答:

假设您要绑定到将使用给定对象的属性的对象-您可以非常轻松地传递Elvis.INSTANCE,但是您不能传递Elvis.class并期望它找到该属性(除非经过故意编码才能找到类的静态属性)。

基本上,仅在需要实例时才使用单例模式。如果静态方法适合您,则只需使用这些方法,而不必理会枚举。

以上是 在Java中将枚举用作单例的最佳方法是什么? 的全部内容, 来源链接: utcz.com/qa/409326.html

回到顶部