枚举简单总结

枚举

使用静态常量的弊端java

  • 安全性低,可接受枚举外的值
  • 可读性,尤为是打印日志时

  • 枚举的本质就是一个类(在编译时期转换成对应final类的形式,继承自java.lang.enum)
  • 底层实现线程安全
    • 反编译展现的枚举类型都是static类型的属性,在类被加载后被初始化,当一个Java类第一次被真正使用到的时候静态资源被初始化、Java类的加载和初始化过程都是线程安全的
public enum ColorEnum {
    RED,GREEN,YELLOW
}
复制代码

枚举是实现单例的最好方式安全

  • 写法简单
  • 能够防止反序列化从新建立对象
  • 线程安全
  • 惟一缺点: 枚举类的建立对象方式必须使用相应的方法,协同开发时,其余人并不必定知道
public enum Singleton {  
    INSTANCE;  
    public void whateverMethod() {  
    }  
}  
复制代码
相关文章
相关标签/搜索