Giới thiệu về Java Enum
Trong lập trình Java, Enum (viết tắt của Enumeration) là một kiểu dữ liệu đặc biệt cho phép bạn định nghĩa một tập hợp các hằng số. Điều này giúp nâng cao tính đọc hiểu của mã nguồn và giảm thiểu lỗi trong quá trình lập trình. Enum được đưa vào Java từ phiên bản 5.0 và đã trở thành một phần không thể thiếu trong việc xây dựng các ứng dụng Java.
Định nghĩa của Java Enum
Enum cho phép bạn định nghĩa một kiểu dữ liệu với một danh sách các giá trị cố định. Mỗi giá trị trong một enum là một đối tượng duy nhất của kiểu enum đó. Điều này có nghĩa là bạn có thể sử dụng enum để tạo ra các hằng số, chẳng hạn như các ngày trong tuần, mức độ ưu tiên, trạng thái của một đối tượng, v.v.
Cú pháp khai báo Enum
Cú pháp để khai báo một enum trong Java rất đơn giản. Dưới đây là cấu trúc cơ bản:
public enum TênEnum { GIÁ_TRỊ_1, GIÁ_TRỊ_2, GIÁ_TRỊ_3, ... }
Ví dụ về Java Enum
Ví dụ 1: Enum cho các ngày trong tuần
public enum Days { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
Trong ví dụ này, chúng ta đã định nghĩa một enum có tên Days với các giá trị tương ứng là các ngày trong tuần.
Ví dụ 2: Sử dụng Enum trong chương trình
public class Main { public static void main(String[] args) { Days today = Days.MONDAY; switch (today) { case MONDAY: System.out.println("Hôm nay là thứ Hai."); break; case TUESDAY: System.out.println("Hôm nay là thứ Ba."); break; // Các trường hợp khác... default: System.out.println("Không phải ngày trong tuần."); } } }
Trong ví dụ trên, chúng ta tạo một biến today kiểu Days và dùng lệnh switch để kiểm tra giá trị của nó.
Ví dụ 3: Enum với thuộc tính và phương thức
Enum không chỉ giới hạn ở việc định nghĩa các hằng số. Nó cũng có thể chứa thuộc tính và phương thức:
public enum Planet { MERCURY(3.303e+20, 2.439e6), VENUS(4.869e+20, 6.0518e6), EARTH(5.976e+24, 6.378e6), MARS(6.421e+23, 3.397e6); private final double mass; // in kilograms private final double radius; // in meters Planet(double mass, double radius) { this.mass = mass; this.radius = radius; } public double mass() { return mass; } public double radius() { return radius; } public double surfaceGravity() { return mass / (radius * radius); } }
Trong ví dụ này, chúng ta định nghĩa enum Planet với các thuộc tính mass và radius. Chúng ta cũng định nghĩa các phương thức để lấy thông tin về hành tinh.
Kết luận
Java Enum là một công cụ mạnh mẽ và hữu ích để làm việc với các hằng số có liên quan. Việc sử dụng enum giúp mã dễ đọc hơn và giảm thiểu các lỗi liên quan đến việc so sánh hằng số. Hy vọng bài viết này sẽ giúp bạn hiểu rõ hơn về enum trong Java và cách sử dụng nó hiệu quả trong các dự án lập trình của mình.