Java 列舉
列舉
enum
是一種特殊的“類”,表示一組常量(不可更改的變數,類似於 final
變數)。
要建立一個 enum
,請使用 enum
關鍵字(而不是 class 或 interface),並用逗號分隔常量。請注意,它們應該是大寫字母。
Enum 是“enumerations”的縮寫,意思是“具體列舉”。
類中的列舉
您也可以在一個類內部定義一個 enum
。
示例
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
輸出將是:
MEDIUM
Switch 語句中的列舉
列舉常用於 switch
語句中,以檢查相應的值。
示例
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
switch(myVar) {
case LOW:
System.out.println("Low level");
break;
case MEDIUM:
System.out.println("Medium level");
break;
case HIGH:
System.out.println("High level");
break;
}
}
}
輸出將是:
中等級別
遍歷列舉
列舉型別有一個 values()
方法,它返回一個包含所有列舉常量的陣列。當您想遍歷列舉的常量時,此方法很有用。
列舉和類的區別
一個 enum
可以像 class
一樣擁有屬性和方法。唯一的區別是列舉常量是 public
、static
和 final
的(不可更改 - 不能被覆蓋)。
一個 enum
不能用於建立物件,也不能繼承其他類(但它可以實現介面)。
為什麼以及何時使用列舉?
當您擁有一組您知道不會改變的值時,請使用列舉,例如月份、星期幾、顏色、一副牌等等。