Java Enum類是一種特殊的Java類,用於聲明固定數量的常量。在一些場景下,枚舉類型比普通的整數常量更具優勢,因為它們可以為常量提供更多的操作和屬性。
一、枚舉類型的定義
為了聲明一個枚舉類型,需要使用關鍵字enum
。以下是一個簡單的枚舉類型的例子:
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
在上面的例子中,我們聲明了一個表示一星期七天的枚舉類型Day
。該枚舉類型包含七個枚舉常量,即星期一到星期日。
二、枚舉值的訪問
使用枚舉類型時,可以通過類型的枚舉常量來訪問枚舉常量的值。以下是一個使用枚舉常量的例子:
Day today = Day.MONDAY;
System.out.println("今天是:" + today);
在上面的例子中,我們用枚舉常量Day.MONDAY
初始化枚舉類型today
。然後,我們使用println()
語句將該枚舉常量列印出來。
三、枚舉類型的方法和屬性
1. values()
使用values()
方法可以查詢枚舉類型中的所有常量,並以數組的形式返回。每個枚舉類型都隱式包含一個values()
方法,因此無需為其聲明。
以下是一個使用values()
方法的例子:
Day[] days = Day.values();
for (Day day : days) {
System.out.println(day);
}
在上面的例子中,我們通過values()
方法查詢了枚舉類型Day
中包含的所有枚舉常量,並使用for
循環列印每個枚舉常量。
2. ordinal()
一個枚舉常量在定義時被分配的數字值被稱為該枚舉常量的ordinal
值。使用ordinal()
方法可以查詢枚舉常量的ordinal
值。
以下是一個使用ordinal()
方法的例子:
Day today = Day.THURSDAY;
System.out.println("今天是星期"+ (today.ordinal() + 1));
在上面的例子中,我們使用ordinal()
方法查詢當前枚舉常量的ordinal
值,並將其加上1以得到今天是星期幾。
3. name()
使用name()
方法可以查詢枚舉常量的名稱。
以下是一個使用name()
方法的例子:
Day today = Day.FRIDAY;
System.out.println("今天是" + today.name());
在上面的例子中,我們使用name()
方法獲取當前枚舉常量的名稱,並將其列印出來。
4. 枚舉類型的構造函數
枚舉類型的構造函數必須私有化,因為枚舉類型的常量必須在定義時創建。以下是一個使用私有構造函數的枚舉類型的例子:
public enum Color {
RED(255, 0, 0),
GREEN(0, 255, 0),
BLUE(0, 0, 255);
private int r;
private int g;
private int b;
private Color(int r, int g, int b) {
this.r = r;
this.g = g;
this.b = b;
}
public int getR() {
return r;
}
public int getG() {
return g;
}
public int getB() {
return b;
}
}
在上面的例子中,我們聲明了一個表示顏色的枚舉類型Color
。每個枚舉常量都需要傳遞三個整數參數來構造,分別代表該顏色的R
、G
、B
值。為了實現這一點,我們在Color
枚舉類型中定義了一個私有的構造函數和三個私有的屬性方法。在構造函數中,我們將傳入的三個整數參數分別賦值給相應的屬性。
總結
Java Enum類是一種特殊的Java類,用於聲明固定數量的常量。在許多情況下,枚舉比普通的整數常量更具優勢,因為它們可以為常量提供更多的操作和屬性。本文介紹了Java Enum類的基礎知識,包括枚舉類型的定義、枚舉值的訪問,以及枚舉類型的方法和屬性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/242665.html