美文网首页
enum 实现单例

enum 实现单例

作者: 良人与我 | 来源:发表于2019-07-27 13:37 被阅读0次

    需要单例的类 SinletonObject

    @AllArgsConstructor
    public class SinletonObject {
        private Integer id;
        private String desc;
    }
    

    枚举类实现单例

    public enum SingletonEnum {
        INSTANCE;
        private SinletonObject instance;
    
        SingletonEnum(){
            System.out.println(" -new instance --");
            instance = new SinletonObject(1,"hello");
        }
        public SinletonObject getInstance() {
            return instance;
        }
    }
    

    测试下

    public class SingletonTest {
        public static void main(String[] args) {
            System.out.println(SingletonEnum.INSTANCE.getInstance());
            System.out.println(SingletonEnum.INSTANCE.getInstance());
        }
    }
    

    运行结果,只初始化了一次

    -new instance --
    com.river.face.Singleton.SinletonObject@65b54208
    com.river.face.Singleton.SinletonObject@65b54208

    相关文章

      网友评论

          本文标题:enum 实现单例

          本文链接:https://www.haomeiwen.com/subject/stxerctx.html