如何初始化基于Java枚举的Singleton?

如何初始化基于Java枚举的Singleton?,第1张

如何初始化基于Java枚举的Singleton?

完全有可能为以下对象创建构造函数

enum

public enum BitCheck {    INSTANCE;    BitCheck() {        props = new HashMap<String, String>();    }    private final Map<String, String> props;    //..}

注意:

  • props
    字段可以是最终的(我们喜欢
    final
  • props
    不必是
    static
  • 构造函数会自动为您调用

注意最后一点。由于

enum
-singletons是在
enumBitCheck
加载类时急切创建的,因此您无法将任何参数传递给构造函数。当然可以通过
INSTANCE
声明:

public enum BitCheck {    INSTANCE(new HashMap<String, String>());    BitCheck(final Map<String, String> props) {        this.props = props;    }

但这没什么关系吧?您想实现什么?也许您实际上需要延迟初始化的单例?



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5429179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存