中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

安徽建設(shè)監(jiān)理協(xié)會(huì)網(wǎng)站seo有哪些網(wǎng)站

安徽建設(shè)監(jiān)理協(xié)會(huì)網(wǎng)站,seo有哪些網(wǎng)站,自己有網(wǎng)站怎么做app,珠寶首飾網(wǎng)站建設(shè)一、理解枚舉類型 枚舉類型是Java 5中新增特性的一部分,它是一種特殊的數(shù)據(jù)類型,之所以特殊是因?yàn)樗仁且环N類(class)類型卻又比類類型多了些特殊的約束,但是這些約束的存在也造就了枚舉類型的簡(jiǎn)潔性、安全性以及便捷性。下面先來(lái)看看如何寫…

一、理解枚舉類型

枚舉類型是Java 5中新增特性的一部分,它是一種特殊的數(shù)據(jù)類型,之所以特殊是因?yàn)樗仁且环N類(class)類型卻又比類類型多了些特殊的約束,但是這些約束的存在也造就了枚舉類型的簡(jiǎn)潔性、安全性以及便捷性。下面先來(lái)看看如何寫一個(gè)枚舉?

二、枚舉的定義語(yǔ)法

在沒(méi)有枚舉類型時(shí)定義常量常見(jiàn)的方式?

public class DayDemo {public static final int MONDAY =1;public static final int TUESDAY=2;public static final int WEDNESDAY=3;public static final int THURSDAY=4;public static final int FRIDAY=5;public static final int SATURDAY=6;public static final int SUNDAY=7;}

?上述的常量定義常量的方式稱為int枚舉模式,這樣的定義方式并沒(méi)有什么錯(cuò),但它存在許多不足,如在類型安全和使用方便性上并沒(méi)有多少好處,如果存在定義int值相同的變量,容易混淆,因此這種方式在枚舉出現(xiàn)后并不提倡,現(xiàn)在我們利用枚舉類型來(lái)重新定義上述的常量,定義周一到周日的常量
//枚舉類型,使用關(guān)鍵字enum

    enum Day {MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY, SUNDAY}

?

相當(dāng)簡(jiǎn)潔,在定義枚舉類型時(shí)我們使用的關(guān)鍵字是enum,與class關(guān)鍵字類似,只不過(guò)前者是定義枚舉類型,后者是定義類類型。

枚舉類型Day中分別定義了從周一到周日的值,這里要注意,值一般是大寫的字母,多個(gè)值之間以逗號(hào)分隔。同時(shí)我們應(yīng)該知道的是枚舉類型可以像類(class)類型一樣,定義為一個(gè)單獨(dú)的文件,當(dāng)然也可以定義在其他類內(nèi)部,更重要的是枚舉常量在類型安全性和便捷性都很有保證,如果出現(xiàn)類型問(wèn)題編譯器也會(huì)提示我們改進(jìn),但務(wù)必記住枚舉表示的類型其取值是必須有限的,也就是說(shuō)每個(gè)值都是可以枚舉出來(lái)的,比如上述描述的一周共有七天。

以上是寫法,寫好后該如何使用呢?如下:

 public class EnumDemo {public static void main(String[] args){//直接引用Day day =Day.MONDAY;}}

?就像上述代碼那樣,直接引用枚舉的值即可,這便是枚舉類型的最簡(jiǎn)單模型。

三、Enum抽象類常見(jiàn)方法

Enum是所有 Java 語(yǔ)言枚舉類型的公共基本類(注意Enum是抽象類),以下是它的常見(jiàn)方法:

在這里插入圖片描述?

ordinal()方法,該方法獲取的是枚舉變量在枚舉類中聲明的順序,下標(biāo)從0開(kāi)始,如日期中的MONDAY在第一個(gè)位置,那么MONDAY的ordinal值就是0,如果MONDAY的聲明位置發(fā)生變化,那么ordinal方法獲取到的值也隨之變化,注意在大多數(shù)情況下我們都不應(yīng)該首先使用該方法,畢竟它總是變幻莫測(cè)的。

compareTo(E o)方法則是比較枚舉的大小,注意其內(nèi)部實(shí)現(xiàn)是根據(jù)每個(gè)枚舉的ordinal值大小進(jìn)行比較的。

name()方法與toString()幾乎是等同的,都是輸出變量的字符串形式。

valueOf(Class enumType, String name)方法則是根據(jù)枚舉類的Class對(duì)象和枚舉名稱獲取枚舉常量,注意該方法是靜態(tài)的。

下面的代碼演示了上述方法:

?

public class EnumDemo {public static void main(String[] args){//創(chuàng)建枚舉數(shù)組Day[] days=new Day[]{Day.MONDAY, Day.TUESDAY, Day.WEDNESDAY,Day.THURSDAY, Day.FRIDAY, Day.SATURDAY, Day.SUNDAY};for (int i = 0; i <days.length ; i++) {System.out.println("day["+i+"].ordinal():"+days[i].ordinal());}System.out.println("-------------------------------------");//通過(guò)compareTo方法比較,實(shí)際上其內(nèi)部是通過(guò)ordinal()值比較的System.out.println("days[0].compareTo(days[1]):"+days[0].compareTo(days[1]));System.out.println("days[0].compareTo(days[1]):"+days[0].compareTo(days[2]));//獲取該枚舉對(duì)象的Class對(duì)象引用,當(dāng)然也可以通過(guò)getClass方法Class<?> clazz = days[0].getDeclaringClass();System.out.println("clazz:"+clazz);System.out.println("-------------------------------------");//name()System.out.println("days[0].name():"+days[0].name());System.out.println("days[1].name():"+days[1].name());System.out.println("-------------------------------------");System.out.println("days[0].toString():"+days[0].toString());System.out.println("days[1].toString():"+days[1].toString());System.out.println("-------------------------------------");Day d=Enum.valueOf(Day.class,days[0].name());Day d2=Day.valueOf(Day.class,days[0].name());System.out.println("d:"+d);System.out.println("d2:"+d2);}

?

六、枚舉的進(jìn)階用法

向enum類添加方法與自定義屬性和構(gòu)造函數(shù) 重新定義一個(gè)日期枚舉類,帶有desc成員變量描述該日期的對(duì)于中文描述,同時(shí)定義一個(gè)getDesc方法,返回中文描述內(nèi)容,自定義私有構(gòu)造函數(shù),在聲明枚舉實(shí)例時(shí)傳入對(duì)應(yīng)的中文描述,代碼如下:

public enum Day2 {MONDAY("星期一",1),TUESDAY("星期二",2),WEDNESDAY("星期三",3),THURSDAY("星期四",4),FRIDAY("星期五",5),SATURDAY("星期六",6),SUNDAY("星期日",7);//記住要用分號(hào)結(jié)束private String desc;//文字描述private Integer code; //對(duì)應(yīng)的代碼/*** 私有構(gòu)造,防止被外部調(diào)用* @param desc*/private Day2(String desc,Integer code){this.desc=desc;this.code=code;}/*** 定義方法,返回描述,跟常規(guī)類的定義沒(méi)區(qū)別* @return*/public String getDesc(){return desc;}/*** 定義方法,返回代碼,跟常規(guī)類的定義沒(méi)區(qū)別* @return*/public int getCode(){return code;}public static void main(String[] args){for (Day2 day:Day2.values()) {System.out.println("name:"+day.name()+",desc:"+day.getDesc());}}

?輸出結(jié)果:

name:MONDAY,desc:星期一name:TUESDAY,desc:星期二name:WEDNESDAY,desc:星期三name:THURSDAY,desc:星期四name:FRIDAY,desc:星期五name:SATURDAY,desc:星期六name:SUNDAY,desc:星期日

?

http://www.risenshineclean.com/news/53255.html

相關(guān)文章:

  • 模板網(wǎng)站制作時(shí)間百度指數(shù)分析大數(shù)據(jù)
  • ps做網(wǎng)站效果圖尺寸如何網(wǎng)站建設(shè)軟件
  • 銀川制作網(wǎng)站百度熱門排行榜
  • 建站如何掙錢seo教程網(wǎng)站優(yōu)化
  • 簡(jiǎn)單網(wǎng)站搭建媒介星軟文平臺(tái)
  • 網(wǎng)站建設(shè) 后期維護(hù)抖音關(guān)鍵詞排名軟件
  • 網(wǎng)站怎么做懸浮圖片bing搜索引擎入口
  • 備案號(hào)網(wǎng)站下邊優(yōu)化網(wǎng)站收費(fèi)標(biāo)準(zhǔn)
  • 網(wǎng)站怎么做視頻教程上海十大公關(guān)公司排名
  • wordpress加速r網(wǎng)站搜索優(yōu)化公司
  • 網(wǎng)站開(kāi)發(fā)專業(yè)職稱有哪些武漢網(wǎng)絡(luò)推廣公司排名
  • 班級(jí)網(wǎng)站設(shè)計(jì)模板域名收錄查詢工具
  • 專業(yè)做網(wǎng)站關(guān)鍵詞排名下掉長(zhǎng)尾關(guān)鍵詞是什么意思
  • 在家做兼職官方網(wǎng)站平臺(tái)輿情信息網(wǎng)
  • php網(wǎng)站開(kāi)發(fā)技術(shù)文檔廣告聯(lián)盟怎么賺錢
  • 做app網(wǎng)站有哪些功能怎么做ppt
  • 紹興專業(yè)做網(wǎng)站的公司蘇州seo按天扣費(fèi)
  • 網(wǎng)站 被攻擊_主業(yè)篡改 被黑了 織夢(mèng)做的站市場(chǎng)調(diào)研
  • 網(wǎng)站建設(shè)可以幫助花店怎么樣百度投訴中心24人工客服電話
  • 大學(xué)生實(shí)訓(xùn)網(wǎng)站建設(shè)心得關(guān)鍵詞查詢
  • 相親網(wǎng)站做期貨現(xiàn)貨貴金屬的人近期國(guó)內(nèi)新聞?wù)?/a>
  • 最新足球消息seo搜索引擎優(yōu)化ppt
  • 自己做的網(wǎng)站怎么連接計(jì)算機(jī)免費(fèi)漲粉工具
  • wordpress 懸浮播放器公司網(wǎng)站seo公司
  • 網(wǎng)站建設(shè)完成后如何備案安陽(yáng)seo
  • 網(wǎng)站建設(shè)公司銷售最近三天的國(guó)際新聞大事
  • 股票訂閱網(wǎng)站開(kāi)發(fā)如何做網(wǎng)絡(luò)推廣推廣
  • 網(wǎng)站開(kāi)發(fā)的概念免費(fèi)seo搜索優(yōu)化
  • 做網(wǎng)站開(kāi)店網(wǎng)絡(luò)營(yíng)銷的未來(lái)發(fā)展趨勢(shì)
  • 手機(jī)網(wǎng)站開(kāi)發(fā)怎么收費(fèi)品牌seo推廣咨詢