教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線:400-618-4000

Java培訓(xùn)之枚舉

更新時(shí)間:2016年06月28日14時(shí)44分 來(lái)源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):

枚舉類(lèi)型概述

 
1 什么是枚舉類(lèi)型
word文檔的對(duì)齊方式有幾種:左對(duì)齊、居中對(duì)齊、右對(duì)齊;
開(kāi)車(chē)的方向有幾種:前、后、左、右;
枚舉就是有限實(shí)現(xiàn)個(gè)數(shù)的類(lèi)型,你可能會(huì)說(shuō),byte類(lèi)型也只有256個(gè),沒(méi)錯(cuò),但我們真實(shí)定義為枚舉的類(lèi)型,一般最多也就十多個(gè)實(shí)例,再多就不會(huì)定義為枚舉了。
 

2 JDK1.4之前的枚舉類(lèi)型
在JDK1.4之前沒(méi)有枚舉類(lèi)型,都是使用int或字符串類(lèi)型來(lái)表示枚舉,如果枚舉只有兩個(gè)選項(xiàng),那么連int都用不上,只需要使用boolean類(lèi)型即可。
例如:BorderLayout類(lèi)的方位給出五個(gè):CENTER、EAST、SOUTH、WEST、NORTH。當(dāng)使用容器類(lèi)的方法添加組件時(shí):add(new Button(), “CENTER”),這是合法的,但因?yàn)镾tring類(lèi)型太過(guò)寬泛,所以可能會(huì)出現(xiàn)add(new Button(), “哈哈”)的調(diào)用可能,這會(huì)導(dǎo)致運(yùn)行時(shí)出現(xiàn)異常。所以,JDK1.5又新增了枚舉類(lèi)型。
 

3 定義枚舉類(lèi)型
定義枚舉類(lèi)型需要使用enum關(guān)鍵字,例如:
 注意,每個(gè)枚舉選項(xiàng)之間是用逗號(hào)隔開(kāi)的。如果枚舉類(lèi)沒(méi)有構(gòu)造器、方法等,在最后一個(gè)枚舉選擇后面可以不打分號(hào)。但是如果枚舉類(lèi)還有其他成員,那么就要在最后一個(gè)枚舉項(xiàng)后面添加分號(hào)了。
Direction類(lèi)型只有四個(gè)選項(xiàng),你可以理解為這個(gè)枚舉類(lèi)只有四個(gè)實(shí)例對(duì)象一樣。外界無(wú)法去創(chuàng)建新的枚舉對(duì)象,只能從這四個(gè)中去選擇。
其實(shí)大多數(shù)時(shí)候,我們使用枚舉類(lèi)型還是與以及使用int或String表示的枚舉一樣,基本上都是很簡(jiǎn)單的。

 
4 枚舉與switch
1.5開(kāi)始枚舉類(lèi)型可以在switch中使用!在1.7之后,String類(lèi)型也可以放到switch中使用了。
 注意,在switch中,不能使用枚舉類(lèi)名稱(chēng),例如:“case Direction.FRONT:”這是錯(cuò)誤的,因?yàn)榫幾g器會(huì)根據(jù)switch中d的類(lèi)型來(lái)判定每個(gè)枚舉類(lèi)型,在case中必須直接給出與d相同類(lèi)型的枚舉選項(xiàng),而不能再有類(lèi)型。


本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://metathetuscanyresort.com/javaee
 
 
0 分享到:
和我們?cè)诰€交談!