Java枚舉是一種特殊的數(shù)據(jù)類型,它常用于表示一定數(shù)量的常量值。在Java中,枚舉被定義為一個(gè)類,每個(gè)枚舉常量都是該類的一個(gè)實(shí)例。枚舉類型的定義一般放在java文件的最頂部,使用enum關(guān)鍵字:
enum DayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
在代碼中,可以通過(guò)枚舉常量的名稱來(lái)訪問(wèn)它。例如,可以通過(guò)以下方式獲取星期一的枚舉常量:
DayOfWeek monday = DayOfWeek.MONDAY;
枚舉還可以定義方法,這些方法可以對(duì)每個(gè)枚舉常量進(jìn)行操作。例如,下面的例子定義了一個(gè)帶有一個(gè)參數(shù)的方法printName(),它用于打印枚舉常量的名稱:
enum DayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; public void printName() { System.out.println(name()); } }
在代碼中,可以通過(guò)枚舉常量調(diào)用該方法:
DayOfWeek monday = DayOfWeek.MONDAY; monday.printName();
輸出結(jié)果為:
MONDAY
枚舉類中的方法也可以包含參數(shù)和返回值:
enum DayOfWeek { MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7); private final int dayNumber; DayOfWeek(int dayNumber) { this.dayNumber = dayNumber; } public int getDayNumber() { return dayNumber; } }
在代碼中,可以通過(guò)枚舉常量調(diào)用該方法獲取枚舉常量對(duì)應(yīng)的值:
DayOfWeek monday = DayOfWeek.MONDAY; int dayNumber = monday.getDayNumber(); System.out.println(dayNumber);
輸出結(jié)果為:
1