一、什麼是Java枚舉
在Java中,枚舉是一種特殊的數據類型,它可以讓程序員定義一個有限的、確定的、有名稱的值集合。通過使用枚舉類型,可以將一組常量統一起來,便於程序的維護和擴展。
在Java中,使用關鍵字enum定義一個枚舉類型,其中括號內用逗號分隔定義需要的常量。如下所示:
enum Color {
RED, BLUE, GREEN;
}
上述代碼定義了一個名為Color的枚舉類型,其中包含三個枚舉常量:RED、BLUE、GREEN。
二、Java枚舉的用法
1. 聲明枚舉變量
使用定義好的枚舉類型,可以聲明一個枚舉變量。如下所示:
Color myColor = Color.RED;
上述代碼聲明了一個名為myColor的枚舉變量,其值為Color.RED。
2. 枚舉常量的比較
枚舉類型可以使用\==運算符直接進行比較,如下所示:
Color myColor = Color.RED;
if (myColor == Color.RED) {
System.out.println("myColor is RED");
}
上述代碼使用\==運算符比較myColor和Color.RED的值是否相等,如果相等,則輸出“myColor is RED”。
3. 枚舉的迭代
枚舉類型可以使用foreach語句進行迭代,如下所示:
for (Color c : Color.values()) {
System.out.println(c);
}
上述代碼使用foreach語句,循環遍歷枚舉類型Color中的所有枚舉常量,並且依次輸出它們的名稱。
4. 枚舉的switch語句
枚舉類型可以使用switch語句進行比較,如下所示:
Color myColor = Color.BLUE;
switch (myColor) {
case RED:
System.out.println("myColor is RED");
break;
case BLUE:
System.out.println("myColor is BLUE");
break;
case GREEN:
System.out.println("myColor is GREEN");
break;
}
上述代碼使用switch語句,比較myColor和枚舉類型Color中的所有枚舉常量,輸出匹配的枚舉常量名稱。
三、實戰應用
枚舉類型經常使用在開發中,下面通過一個例子來演示枚舉類型的使用。
在一個餐廳程序中,我們需要定義不同的餐桌類型,如“普通餐桌”、“卡座餐桌”、“包房餐桌”等,每種類型的餐桌有自己的名稱、容納人數和價格,我們使用枚舉類型來定義各種不同的餐桌類型,如下所示:
enum TableType {
NORMAL("普通桌", 4, 50.0),
BOOTH("卡座桌", 6, 100.0),
PRIVATE("包間桌", 10, 200.0);
private String name; // 桌子名稱
private int capacity; // 容納人數
private double price; // 桌子價格
TableType(String name, int capacity, double price) {
this.name = name;
this.capacity = capacity;
this.price = price;
}
public String getName() {
return name;
}
public int getCapacity() {
return capacity;
}
public double getPrice() {
return price;
}
}
上述代碼定義了一個枚舉類型TableType,並且在枚舉類型中定義了三種不同的餐桌類型:NORMAL、BOOTH、PRIVATE。每種類型的餐桌都有自己的名稱、容納人數和價格,因此在枚舉類型中定義了對應的屬性,並且在TableType的構造方法中進行初始化。
在程序中,我們可以使用TableType來創建餐桌對象,並且獲取對應的名稱、容納人數和價格,如下所示:
public class Table {
private TableType type; // 餐桌類型
public Table(TableType type) {
this.type = type;
}
public String getName() {
return type.getName();
}
public int getCapacity() {
return type.getCapacity();
}
public double getPrice() {
return type.getPrice();
}
}
上述代碼定義了一個Table類,並且使用TableType作為餐桌的類型,使用TableType作為構造方法的參數傳入餐桌對象,如下所示:
Table table1 = new Table(TableType.NORMAL); Table table2 = new Table(TableType.BOOTH); Table table3 = new Table(TableType.PRIVATE); System.out.println(table1.getName() + ":" + table1.getCapacity() + "人桌,價格:" + table1.getPrice() + "元"); System.out.println(table2.getName() + ":" + table2.getCapacity() + "人桌,價格:" + table2.getPrice() + "元"); System.out.println(table3.getName() + ":" + table3.getCapacity() + "人桌,價格:" + table3.getPrice() + "元");
上述代碼創建了三個不同類型的餐桌對象,分別輸出它們的名稱、容納人數和價格。
結語
枚舉類型是Java編程中一個非常重要的工具,它可以將大量的常數定義在一起進行統一管理,提高了程序的可讀性和可維護性,是Java編程中不可或缺的一部分。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/153137.html
微信掃一掃
支付寶掃一掃