Enumeration trong Java là gì? Hướng dẫn cho người mới bắt đầu



Liệt kê trong Java về cơ bản là một danh sách các hằng số được đặt tên. Trong Java, nó định nghĩa một loại lớp. Nó có thể có các hàm tạo, các phương thức và các biến thể hiện. Bài viết này sẽ cho bạn biết tất cả về enum trong java.

Phép liệt kê không là gì ngoài một tập hợp các hằng số được đặt tên giúp xác định . Khi bạn có thể xác định loại biến trong chương trình, việc xác định chúng trở nên dễ dàng. Vì thế, Enum được sử dụng khi bạn đã biết về tất cả các giá trị tại thời điểm biên dịch. Trong bài viết này, tôi sẽ cho bạn biết cách định nghĩa Enumeration trong với sự trợ giúp của các ví dụ.

Tôi sẽ đề cập đến các chủ đề dưới đây trong bài viết này:





Bắt đầu nào!

Enumeration trong Java là gì?

Sự liệt kê về cơ bản làmột danh sách các hằng số được đặt tên. Trong Java, nó định nghĩa một loại lớp. Nó có thể có người xây dựng , phương pháp và Biến thể hiện . Nó được tạo ra bằng cách sử dụngcác enum từ khóa. Theo mặc định, mỗi hằng số liệt kê là công cộng , tĩnh sau cùng . Mặc dù phép liệt kê xác định một kiểu lớp và có các hàm tạo, bạn không cần phải khởi tạo một enum sử dụngcác Mới Biến đổi. Các biến liệt kê được sử dụng và khai báo giống như cách của một biến nguyên thủy.



Bây giờ chúng ta hãy đi vào chi tiết của Enumeration và hiểu cú pháp và khai báo của nó.

Định nghĩa phép liệt kê trong Java

Khai báo danh sách có thể được thực hiện bên ngoài hoặc bên trong một Lớp. Tuy nhiên, chúng ta không thể khai báo Enum bên trong phương thức. Hãy lấy một ví dụ nhỏ để hiểu tuyên bố của nó. Đầu tiên, tôi sẽ cho bạn biết cách khai báo enum bên ngoài một lớp.

1. Khai báo một Enumeration trong Java bên ngoài một lớp

enum Directions {// từ khóa enum được sử dụng thay cho từ khóa class NORTH, SOUTH, EAST, WEST} public class enumDecosystem {public static void main (String [] args) {Directions d1 = Directions.EAST // từ khóa mới không bắt buộc tạo một tham chiếu đối tượng mới System.out.println (d1)}}

Đầu ra:



PHÍA ĐÔNG

2. Khai báo một Enumeration trong Java bên trong một lớp

public class enumDecosystem {enum Directions {NORTH, SOUTH, EAST, WEST} public static void main (String [] args) {Directions d1 = Directions.EAST // từ khóa mới không cần thiết để tạo tham chiếu đối tượng mới System.out.println (d1)}}

Đầu ra:

PHÍA ĐÔNG

Dòng đầu tiên bên trong kiểu enum phải là danh sách các hằng số. Sau đó, bạn có thể sử dụng các phương pháp, và người xây dựng . Về cơ bản, enum đại diện cho một nhóm các biến và hằng số.

Ghi chú:

  • Enum về cơ bản cải thiện độ an toàn của kiểu.
  • Nó có thể được sử dụng đa dạng trong các ví dụ trường hợp chuyển mạch.
  • Enum có thể được duyệt qua dễ dàng.
  • Enum có các trường, hàm tạo và phương thức.
  • Về cơ bản, Enum thực hiện nhiều giao diện nhưng, không thể mở rộng bất kỳ lớp nào vì nó mở rộng nội bộ lớp Enum .

Bây giờ bạn đã biết cách khai báo và sử dụng enum trong chương trình của mình, hãy hiểu cách triển khai điều này với các câu lệnh switch case.

Liệt kê bằng câu lệnh Switch

Giá trị liệt kê cũng có thể được sử dụng để điều khiển một câu lệnh chuyển đổi. Điều cần thiết là tất cả các câu lệnh case phải sử dụng các hằng số từ cùng một enum như được sử dụng bởi câu lệnh switch. Ví dụ dưới đây chứng minh điều tương tự.

package Edureka import java.util. * enum Directions {NORTH, SOUTH, EAST, WEST} public class Test1 {public static void main (String [] args) {Directions d = Directions.SOUTH switch (d) {// Tên của các hằng số được sử dụng mà không có trường hợp liệt kê của chúng BẮC: // chỉ các hằng được định nghĩa theo enum Directions mới có thể được sử dụng System.out.println ('North direction') break case SOUTH: System.out.println ('South direction') break case Trường hợp ngắt EAST: System.out.println ('Hướng Đông') WEST: System.out.println ('Hướng Tây') ngắt}

Đầu ra:

Hướng Nam

Tôi hy vọng bạn đã hiểu cách triển khai một câu lệnh switch bằng cách sử dụng một enum. Bây giờ chúng ta hãy tiến xa hơn và hiểu điều gì là Values ​​() và ValueOf () phương pháp và sự khác biệt giữa chúng.

Phương thức Values ​​() và ValueOf ()

Giá trị (): Khi bạn tạo một enum, Trình biên dịch Java nội bộ thêm giá trị () phương pháp. Phương thức này trả về một mảng chứa tất cả các giá trị của enum.

Cú pháp:

public static enum-type [] giá trị ()

Giá trị của(): Điều nàyphương thức được sử dụng để trả về hằng số liệt kê có giá trị bằng được truyền như một đối số trong khi gọi phương thức này.

java biến đôi thành int

Cú pháp:

public static enum-type valueOf (String str)

Bây giờ chúng ta hãy viết một chương trình để hiểu các phương pháp này một cách chi tiết hơn.

enum Colors {black, red blue, pink, white} class Test {public static void main (String args []) {Colors c System.out.println ('Tất cả các hằng của kiểu enum Màu là:') Colors cArray [] = Colors.values ​​() // trả về một mảng hằng số kiểu Colors for (Colors a: cArray) // sử dụng vòng lặp foreach System.out.println (a) c = Colors.valueOf ('red') System.out.println ('Tôi thích' + c)}}

Đầu ra:

Tất cả các hằng của kiểu enum Màu sắc là: đen đỏ xanh hồng trắng Tôi thích màu đỏ

Đó là cách bạn có thể sử dụng Giá trị () để trả về mảng có chứa tất cả các enum có trong phương thức và Giá trị của() để trả về hằng số liệt kê. Tôi hy vọng bạn hiểu khái niệm này.

Bây giờ chúng ta hãy tiến xa hơn và hiểu việc triển khai Enumeration trong Java với người xây dựng , biến cá thể và phương pháp.

Enumeration với Constructor, biến instance và Method

Về cơ bản, Enumeration có thể chứa hàm tạo và nó được thực thi riêng biệt cho từng hằng số enum tại thời điểm tải lớp enum. Không chỉ vậy, một enum cũng có thể tạo ra các phương thức cụ thể. Hãy viết mã để hiểu việc triển khai Enumeration với Constructor, biến instance và Method.

enum Student {mack (11), Birdie (10), Son (13), Victor (9) private int age // biến được định nghĩa trong enum Student int getage {return age} // phương thức được định nghĩa trong enum Student public Student (int age ) // hàm tạo được định nghĩa trong enum {this.age = age}} class EnumDemo {public static void main (String args []) {Student S System.out.println ('Age of Victor is' + Student.Victor.getage ( ) + 'năm')}}

Đầu ra:

Tuổi của Victor là 9 năm

Ở đây, ngay sau khi chúng ta khai báo một biến enum ( Sinh viên ), hàm tạo được gọi một lần và nó khởi tạo tham số tuổi cho mọi hằng số liệt kê với các giá trị được chỉ định với chúng trong dấu ngoặc đơn. Vì vậy, đó là cách nó hoạt động.

Điều này đưa chúng ta đến phần cuối của bài viết về Liệt kê trong Java . Tôi hy vọng bạn tìm thấy nó thông tin.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trên hành trình của bạn, để trở thành một người ngoài câu hỏi phỏng vấn java này, chúng tôi còn đưa ra một chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành một Nhà phát triển Java.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần bình luận của bài viết “Liệt kê trong Java” này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.