Java eNum 初學者指南 – 為什麼以及為什麼要使用 Enum? Java 枚舉示例

已發表: 2019-04-23

Java eNum 初學者指南 - Crunchify 技巧

枚舉是constants列表,如不可更改的變量。 你聽說過Final keyword嗎? 就像那樣。

當您需要一個代表某種數字或文本數據的預定義值列表時,您應該使用枚舉。 例如,在國際象棋遊戲中,您可以將不同類型的棋子表示為枚舉:

當變量(尤其是方法參數)只能從一小組可能值中取出一個時,您應該始終使用枚舉。 例如類型常量(合同狀態:“永久”、“臨時”、“學徒”)或標誌(“立即執行”、“延遲執行”)。

如果您使用枚舉而不是整數(或字符串代碼),您會增加編譯時檢查並避免因傳遞無效常量而導致的錯誤,並記錄哪些值是合法使用的。

初學者指南到 java-enum-why-and-for-what-should-i-use-enum

Java示例:

輸出:

Java Enum 的一些非常重要的點:

第 1 點

所有枚舉都隱式擴展java.lang.Enum 。 由於 Java 不支持多重繼承,因此枚舉不能擴展其他任何東西。

第 2 點

Enum in Java are type-safe:枚舉有自己的命名空間。 這意味著您的枚舉將在下面的示例中具有例如“公司”的類型,並且除了枚舉常量中指定的值之外,您不能分配任何值。

第 3 點

您可以在創建時指定枚舉常量的值。 MyEnum.values()返回一個 MyEnum 值的數組。

輸出:

第 4 點

枚舉常量是隱式靜態和最終的,一旦創建就不能更改。

第 5 點

可以使用以下方法安全地比較枚舉:

  1. Switch-Case 語句
  2. == 運算符
  3. .equals() 方法請遵循完整的教程。

第 6 點

您不能在 Java 中使用 new 運算符創建枚舉實例,因為 Java 中 Enum 的構造函數只能是私有的,而 Enums 常量只能在 Enums 本身內部創建。

第 7 點

Java 中的 Enum 實例是在代碼中首次調用或引用任何 Enum 常量時創建的。

第 8 點

枚舉指定分配給類型的常量值列表。

第 9 點

枚舉可以在類外部或內部聲明,但不能在方法中聲明。

第 10 點

在類之外聲明的枚舉不得標記為 static、final、abstract、protected 或 private

第 11 點

枚舉可以包含構造函數、方法、變量和常量類主體。

第 12 點

枚舉常量可以使用語法 BIG(8) 向枚舉構造函數發送參數,其中 int 字面量 8 被傳遞給枚舉構造函數。

第 13 點

枚舉構造函數可以有參數,並且可以重載。

第 14 點

永遠不能在代碼中直接調用枚舉構造函數。 它們總是在枚舉初始化時自動調用。

第 15 點

枚舉聲明末尾的分號是可選的。

這些是合法的:

  • 枚舉 Foo { 一、二、三}
  • 枚舉 Foo {一、二、三};

另一個簡單的 Java eNUM 示例:

enum_data_type - Crunchifiy

枚舉是常量列表。 當您需要一個代表某種數字或文本數據的預定義值列表時,您應該使用枚舉。

當變量(尤其是方法參數)只能從一小組可能值中取出一個時,您應該始終使用枚舉。 例如類型常量(合同狀態:“永久”、“臨時”、“學徒”)或標誌(“立即執行”、“延遲執行”)。

如果您使用枚舉而不是整數(或字符串代碼),您會增加編譯時檢查並避免因傳遞無效常量而導致的錯誤,並記錄哪些值是合法使用的。

在這兩者之間,過度使用枚舉可能意味著你的方法做得太多(最好有幾個單獨的方法,而不是一個方法需要幾個標誌來修改它的作用),但是如果你必須使用標誌或類型代碼,枚舉是要走的路。

這是一個非常簡單的 Java eNum 示例

輸出: