枚舉簡單總結

枚舉

使用靜態常量的弊端java

  • 安全性低,可接受枚舉外的值
  • 可讀性,尤爲是打印日誌時

  • 枚舉的本質就是一個類(在編譯時期轉換成對應final類的形式,繼承自java.lang.enum)
  • 底層實現線程安全
    • 反編譯展現的枚舉類型都是static類型的屬性,在類被加載後被初始化,當一個Java類第一次被真正使用到的時候靜態資源被初始化、Java類的加載和初始化過程都是線程安全的
public enum ColorEnum {
    RED,GREEN,YELLOW
}
複製代碼

枚舉是實現單例的最好方式安全

  • 寫法簡單
  • 能夠防止反序列化從新建立對象
  • 線程安全
  • 惟一缺點: 枚舉類的建立對象方式必須使用相應的方法,協同開發時,其餘人並不必定知道
public enum Singleton {  
    INSTANCE;  
    public void whateverMethod() {  
    }  
}  
複製代碼
相關文章
相關標籤/搜索