Bạn đang xem: Enum là gì

Enum trong java là một kiểu dữ liệu đặc biệt của Java được sử dụng để định nghĩa các tập hợp các hằng số. Cụ thể hơn, Java enum là một kiểu đặc biệt của lớp trong java. Một enum có thể chứa các trường, phương thức và Constructor.

Nó có thể được sử dụng để định nghĩa các ngày trong tuần (SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY), các mùa trong năm (SPRING, SUMMER, FALL, WINTER), …

Java enum đã được thêm vào trong Java 5 cùng một số tính năng khác.

Nội dung chính

1. Enum trong java được định nghĩa ở đâu? Ví dụ enum trong java: định nghĩa bên trong một lớpVí dụ enum trong java: định nghĩa bên ngoài một lớpVí dụ enum trong java: định nghĩa trong một file riêng biệt 2. Duyệt các phần tử trong enum 3. Khởi tạo giá trị đặc biệt cho hằng số enum 4. Sử dụng java enum trong câu lệnh switch 5. So sánh các phần tử java enum 6. Câu hỏi về enum trong java

1. Enum trong java được định nghĩa ở đâu?

Enum trong java có thể được định nghĩa bên trong hoặc bên ngoài một lớp, vì nó tương tự như lớp trong java.

Ví dụ enum trong java: định nghĩa bên trong một lớp

package vn.viettuts.javaenum; public class EnumExample1 public static void main(String args) }

2. Duyệt các phần tử trong enum

Dưới đây là ví dụ đơn giản về việc duyệt các phần tử enum trong java:

package vn.viettuts.javaenum; public class EnumExample4 public static void main(String args) } }

Phương thức values() trong enum

Trình biên dịch trong java tự động thêm phương thức values() vào enum khi nó được biên dịch. Phương thức values() trả về một mảng chứa tất cả các giá trị của enum.

3. Khởi tạo giá trị đặc biệt cho hằng số enum

Các hằng số enum có giá trị ban đầu bắt đầu từ 0, 1, 2, 3, … Nhưng chúng ta có thể khởi tạo giá trị cụ thể cho các hằng số enum bằng cách định nghĩa các trường và các Constructor. Như đã giới thiệu, Enum có thể có các trường, phương thức và Constructor.

Ví dụ 1: về định nghĩa giá trị ban đầu cho hằng số enum:

package vn.viettuts.javaenum; public class EnumExample5 } public static void main(String args) } }

Note: Constructor của enum trong java là private. Khi bạn không khai báo là private thì trình biên dịch sẽ tạo ra Constructor private.

Ví dụ 2: về định nghĩa nhiều giá trị cho hằng số enum:

Tạo enum PageInfo với tên file PageInfo.java:

package vn.viettuts.javaenum; public enum PageInfo // getter & setter public String getPageID() public void setPageID(String pageID) public String getPageTitle() public void setPageTitle(String pageTitle) public String getPageURL() public void setPageURL(String pageURL) }

4. Sử dụng java enum trong câu lệnh switch

Dưới đây là ví dụ về sử dụng java enum trong câu lệnh switch:

package vn.viettuts.javaenum; public class EnumExample5 public static void main(String args) } }

Xem thêm: Substrate Là Gì – Hiểu Chất Nền Trong Hóa Học Là Gì

5. So sánh các phần tử java enum

Bạn có thể sử dụng phương thức equals() hoặc toán tử “==” để so sánh các phần tử enum, ví dụ:

package vn.viettuts.javaenum; public class EnumExample7 public static void main(String args) // use “==” operator if (day2 == Day.MONDAY) } }

6. Câu hỏi về enum trong java

Câu hỏi 1: Chúng ta có thể tạo ra thể hiện của enum bằng từ khoá new không?

Không, bởi vì nó chỉ có các Constructor private.

Câu hỏi 2: Chúng ta có thể khai báo phương thức trừu tượng trong enum không?

Có, chúng ta có thể có các phương thức trừu tượng và có thể cung cấp việc thực hiện các phương thức này.

Recent Updates Toán tử dấu 2 chấm (::) trong Java 8Lambda Expression – Biểu thức Lambda trong java 8Bài tập Java – Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java – Sắp xếp chèn (Insertion Sort) trong JavaBài tập Java – Sắp xếp nổi bọt (Bubble Sort) trong JavaBài tập quản lý sinh viên trong JavaHashSet trong javaHashMap trong javaLớp WindowAdapter trong Java SwingLớp MouseMotionAdapter trong Java SwingLớp MouseAdapter trong Java SwingLớp KeyAdapter trong Java Swing

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Xem thêm: Tiếp Thị Liên Kết Là Gì – Và Vì Sao Nên Có Tài Khoản Tiếp Thị Liên

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách – riêng tư | sitemap.html | sitemap_index.xml

Chuyên mục: Hỏi Đáp