Giới thiệu về Enum

Nhập/Xuất và Streams trong Java

Alex Liu

Software Development Engineer

Vì sao dùng Enum?

  • Enum xác định một tập giá trị cố định
    • Ví dụ: Các ngày trong tuần, mã trạng thái
  • Cải thiện khả năng đọc và bảo trì mã
  • Ngăn giá trị không hợp lệ trong biến
  • Lưu ý: Không cần import, vì Enum là một phần của thư viện Java cốt lõi
Nhập/Xuất và Streams trong Java

Định nghĩa Enum

  • Khai báo Enum bằng từ khóa enum
    enum Day {
      MONDAY, 
      TUESDAY, 
      WEDNESDAY, 
      THURSDAY, 
      FRIDAY, 
      SATURDAY, 
      SUNDAY;
    }
    
  • Mỗi giá trị là hằng số và viết HOA
Nhập/Xuất và Streams trong Java

Dùng Enum trong chương trình

  • Ví dụ: Gán và in một giá trị Enum
    public class EnumExample {
      public static void main(String[] args) {
          Day today = Day.WEDNESDAY; // Gán giá trị Enum
          System.out.println("Today is: " + today);
      }
    }
    
  • Kết quả:
    Today is: WEDNESDAY
    
Nhập/Xuất và Streams trong Java

Duyệt qua các giá trị Enum

  • Dùng .values() để lấy tất cả giá trị trong Enum
  • Dùng .ordinal() để lấy vị trí của phần tử
  • Tái sử dụng Enum Day đã định nghĩa trước:
    for (Day d : Day.values()) {
      System.out.println(d);
      System.out.print(
      " is at index " + d.ordinal());
    }
    
  • Chương trình sẽ in mọi giá trị được định nghĩa trong 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
    
Nhập/Xuất và Streams trong Java

Enum với phương thức

  • Enum có thể có phương thức để bổ sung chức năng
enum Status {
    SUCCESS("Operation successful"),
    ERROR("An error occurred");

    private String message;
    Status(String message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
}
Nhập/Xuất và Streams trong Java

Enum với phương thức

  • Ví dụ sử dụng Enum tên Status
public class EnumMethodExample {
    public static void main(String[] args) {
        Status current = Status.SUCCESS;
        System.out.println("Status: " + current);
        System.out.println("Message: " + current.getMessage());
    }
}
  • Kết quả:
Status: SUCCESS
Message: Operation successful
Nhập/Xuất và Streams trong Java

Ayo berlatih!

Nhập/Xuất và Streams trong Java

Preparing Video For Download...