爲什麼要有枚舉?
現在假設有這樣一個問題,要定義星期幾或者性別的變量,該怎麼定義?假設用1-7分別表示星期一到星期日,但有人可能寫成int weekday = 0;
枚舉就是要讓某個類型的變量的取值只能爲若干個固定值中的一個,否則,編譯器就會報錯。枚舉可以讓編譯器在編譯時就可以控制源程序中填寫的非法值,普通變量的方式在開發階段無法實現這一目標。
下面來看一個枚舉的定義:
Week.java
由此看來,枚舉就相當於一個類,而枚舉裏面的每一個元素就相當於這個類的多個實例對象。
枚舉的常用方法:
.toString() 返回枚舉常量的名稱
.name() 返回此枚舉常量的名稱,在其枚舉聲明中對其進行聲明
.ordinal() 返回枚舉常量的序數(它在枚舉聲明中的位置,其中初始常量序數爲零)
.getDeclaringClass() 返回與此枚舉常量的枚舉類型相對應的 Class 對象
.valueOf(Class<T> enumType, String name) 返回帶指定名稱的指定枚舉類型的枚舉常量