每天JAVA簡單教學 列舉類

2021-08-25 01:18:13 字數 1361 閱讀 3515

今天給大家介紹乙個jdk1.5的新特性:列舉類

先來看看以下的例子:

package enumdemo;

public enum weekdays

上面我們就定義了乙個列舉類。列舉類裡面只會定義一系列的關鍵字,它的用法如下:

package enudemo;

public class weekdaysdemo

}

執行結果如下,可以用valueof(string)的方式來檢視是否有某個值,如果該值不存在會丟擲乙個異常(覺得不是很友好的設計。。。。)

[img]

這種型別對於儲存一組常量的時候特別有效,即它很好地取代了以前的常量類。以下是沒有列舉類之前的做法,這段**等價於我們定義的列舉類:

package enudemo;

public final class weekdayconstants

}

大家可能會抱怨,這種列舉類不能儲存多個值,即我們可能想要做到乙個列舉常量,可以包含多個對應的值來裡面,就比如上例,我們對外的變數可能是monday,tuesday之類的,實際儲存的值可能是1,2,3。。。

其實還是能做到的:

package enudemo;

public enum weekdays

/*** 獲取星期在一周中的索引值

* @return 星期的索引值, 0 - sunday, 1 - monday, .... 6 - saturday

*/public int getindex()

/*** 獲取星期的全稱

* @return 星期的全稱,如 sunday, monday...

*/public string getfullname()

/*** 獲取星期的簡稱

* @return 星期的簡稱,如 sun., mon. ...

*/public string getshortname()

/*** 當我們列印這種例項時會顯示它的全名

*/public string tostring()

}

這樣,我們的列舉類就比較完整。

不過仍然有美中不足的地方,比如我們不能重寫預設的equals方法。所有列舉類的equals方法都是寫死的,如果我們想要自定義對比的方法,只能夠寫乙個類似的公有方法。

而且列舉類也不可以繼承或者實現介面,所以對於重用方面效果較差。

不過對於儲存靜態值來說,它還是很好用的,推薦大家嘗試一下今後用它來儲存常量。

Java列舉類的簡單使用

列舉類的本質就是提供有限個例項,我們自己不能隨便new物件,那麼我們先按照如下步驟自己手動實現一下代表季節的列舉類,提供春 夏 秋 冬4個例項 定義myenumation類,私有化建構函式 宣告季節名稱 季節描述2個成員變數,生成相應的構造方法和set get方法 宣告4個靜態的myenumatio...

JAVA列舉類入門

乙個簡單列舉類的例子 public enum light public string tostring 列舉類常用的方法 valueof方法 與tostring相對應。values方法 返回列舉量,可用於遍歷所有列舉值。ordinal方法 返回列舉值在列舉類中的順序,根據列舉值宣告的順序確定。使用列...

Java列舉類回顧

整理一些列舉類的筆記。在jdk1.5之後引入了列舉類關鍵字enum,使得列舉類的建立變得更加簡單明瞭,下面以乙個例子說明 package enum 列舉類理解 author hp public class myseason 3.通過公共方法得到屬性 public string getname pub...