Java enum——不一樣的枚舉對象

Java enum——不一樣的枚舉對象

簡介

枚舉類型(Enumerated Type) 很早就出現在編程語言中,它被用來將一組類似的值包含到一種類型當中。而這種枚舉類型的名稱則會被定義成獨一無二的類型描述符,在這一點上和常量的定義相似。不過相比較常量類型,枚舉類型可以為申明的變量提供更大的取值範圍。

Java enum——不一樣的枚舉對象

Enum,也就是枚舉,C++、Java、Objective-C、Swift這些語言都有對應的枚舉類型,功能可能有多有少,但是最核心的還是一個—-規範的定義代碼中的狀態、選項等“常量”。

Enum的特性

  • Enum常量隱式的加上了static和final,一旦被創建就無法修改
  • Enum提供了是類型安全的(type-safe)
  • Enum隱式的加上了values()方法,返回一個數組包含所有的Enum常量
  • 兩個Enum常量可以使用 ==或equals()方法比較
  • Enum可以用在switch語句中,就像int,String。
  • Enum有自己的名稱空間
  • Enum可以實現Java接口
  • 可以在Enum中定義構造器
Java enum——不一樣的枚舉對象

Enum用法

  • 常量

在JDK1.5 之前,我們定義常量都是: public static fianl…. 。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型裡,而且枚舉提供了比常量更多的方法。

Java enum——不一樣的枚舉對象

  • switch

JDK1.6之前的switch語句只支持int,char,enum類型,使用枚舉,能讓我們的代碼可讀性更強。

Java enum——不一樣的枚舉對象

  • 向枚舉中添加新方法

如果打算自定義自己的方法,那麼必須在enum實例序列的最後添加一個分號。而且 Java 要求必須先定義 enum 實例。

Java enum——不一樣的枚舉對象

  • 使用接口組織枚舉
Java enum——不一樣的枚舉對象

Enum 類型提出給 JAVA 編程帶了了極大的便利,讓程序的控制更加的容易,也不容易出現錯誤。所以在遇到需要控制程序流程時候,可以多想想是否可以利用 enum 來實現。


分享到:


相關文章: