一、枚舉類型定義
Java枚舉類型是一種特殊的數據類型,表示固定數量的常量,這些常量可以代表一系列特定的值。枚舉類型的定義必須在類之外,可以單獨定義一個枚舉類,語法如下:
public enum Weekday {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
枚舉類Weekday定義了7個常量,這些常量用逗號分隔,最後一個常量可用分號結尾。單獨定義枚舉類可以在任何地方引用,也可以添加欄位、方法和構造函數。
二、枚舉類型應用
枚舉類型最常見的用途是定義常量,可以使用枚舉類型代替繁瑣的常量集合,例如:
public class TrafficLight {
enum Color { RED, GREEN, YELLOW }
Color color;
public void setColor(Color c) {
color = c;
}
public Color getColor() {
return color;
}
public void nextColor() {
switch (color) {
case RED: setColor(Color.GREEN); break;
case GREEN: setColor(Color.YELLOW); break;
case YELLOW: setColor(Color.RED); break;
}
}
}
TrafficLight類定義了一個Color枚舉類型,使用枚舉類型進行交通信號燈的模擬,提供了三個方法分別用於設置顏色、獲取顏色和切換顏色。值得注意的是,在switch語句中使用枚舉類型時可以省略枚舉類名。
三、枚舉類型使用場景
枚舉類型具有很多優點,除了用於定義常量以外,還可以用於:
1. 代替複雜的嵌套條件語句
枚舉類型可以使用switch語句代替複雜的嵌套條件語句,使代碼更加簡潔易懂,例如:
public enum Sex {
MALE, FEMALE;
}
public class Person {
private String name;
private Sex sex;
public void printInfo() {
switch (sex) {
case MALE: System.out.println("性別:男"); break;
case FEMALE: System.out.println("性別:女"); break;
default: System.out.println("性別未知");
}
}
}
Person類使用枚舉類型代替條件語句,使得代碼更加清晰。
2. 約束輸入範圍
枚舉類型可以約束輸入的範圍,枚舉類型在定義時已經確定了範圍,如果輸入的值不在範圍內,則會直接編譯報錯,例如:
public enum Weekday {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
public class Test {
public static void main(String[] args) {
Weekday day = Weekday.valueOf("MONDAYS");
}
}
以上代碼會在編譯時報錯,因為MONDAYS不在枚舉類型Weekday的範圍內。
3. 易於維護
使用枚舉類型可以保證代碼易於維護,因為枚舉類型可以將多個常量分類管理,如果需要添加、刪除或修改常量,只需修改枚舉類型的定義即可,不用修改多個地方的代碼。
四、小結
總的來說,Java枚舉類型是一種非常實用的數據類型,具有很多優點,可以適用於各種不同的應用場景,能夠大大提高代碼的可讀性和可維護性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/206159.html
微信掃一掃
支付寶掃一掃