Enums 簡介

Java 的輸入/輸出與串流

Alex Liu

Software Development Engineer

為什麼用 Enums?

  • Enum 定義一組固定值
    • 例如:星期、狀態碼
  • 提升程式碼可讀性與可維護性
  • 防止變數出現無效值
  • 注意:不需匯入,Enums 屬於核心 Java 函式庫
Java 的輸入/輸出與串流

定義 Enum

  • 使用 enum 關鍵字宣告 Enum
    enum Day {
      MONDAY, 
      TUESDAY, 
      WEDNESDAY, 
      THURSDAY, 
      FRIDAY, 
      SATURDAY, 
      SUNDAY;
    }
    
  • 每個值是常數,並以全大寫書寫
Java 的輸入/輸出與串流

在程式中使用 Enums

  • 範例:指定並印出 Enum 值
    public class EnumExample {
      public static void main(String[] args) {
          Day today = Day.WEDNESDAY; // Assigning an Enum value
          System.out.println("Today is: " + today);
      }
    }
    
  • 輸出:
    Today is: WEDNESDAY
    
Java 的輸入/輸出與串流

迭代 Enum 值

  • .values() 取得 Enum 的所有值
  • .ordinal() 取得元素的位置
  • 重用先前定義的 Day Enum 範例:
    for (Day d : Day.values()) {
      System.out.println(d);
      System.out.print(
      " is at index " + d.ordinal());
    }
    
  • 這段程式會輸出 Enum 中定義的所有值:
    MONDAY is at index 0
    TUESDAY is at index 1
    WEDNESDAY is at index 2
    THURSDAY is at index 3
    FRIDAY is at index 4
    SATURDAY is at index 5
    SUNDAY is at index 6
    
Java 的輸入/輸出與串流

含方法的 Enum

  • Enums 可以有方法以提供更多功能
enum Status {
    SUCCESS("Operation successful"),
    ERROR("An error occurred");

    private String message;
    Status(String message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
}
Java 的輸入/輸出與串流

含方法的 Enum

  • Status Enum 的使用範例
public class EnumMethodExample {
    public static void main(String[] args) {
        Status current = Status.SUCCESS;
        System.out.println("Status: " + current);
        System.out.println("Message: " + current.getMessage());
    }
}
  • 輸出:
Status: SUCCESS
Message: Operation successful
Java 的輸入/輸出與串流

一起來練習吧!

Java 的輸入/輸出與串流

Preparing Video For Download...