在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Java項(xiàng)目中枚舉定義以及使用

    什么是枚舉?

    最近寫新項(xiàng)目!有很多數(shù)據(jù)字典常量需要定義和使用、就順便記錄一下、什么是枚舉類呢?就是用enum修飾是一種Java特殊的類,枚舉是class、底層是繼承了java.lang.Enum類的實(shí)體類、使用枚舉可以很方便的定義數(shù)據(jù)常量、方便清晰我們使用

    為什么需要枚舉類?

    下面就舉例說明一下吧

    1)出于類型安全考慮,沒用枚舉類之前,常用靜態(tài)常量來表示。 比如對(duì)于性別的表示:

    public static final int WOMAN = 0;public static final int MAN = 1;復(fù)制代碼

    這種性別定義實(shí)際上是一個(gè)整數(shù)數(shù)據(jù)類型。首先,這些變量可用于加減運(yùn)算。當(dāng)然我們很少這樣干 第二,含義不明確。我們調(diào)試的時(shí)候,最初將“男”輸出到,結(jié)果為1。因此,我們必須在前面尋找0的含義,尤其是當(dāng)我們查看其他人的代碼時(shí)。會(huì)看不懂、定義枚舉類在類里面進(jìn)行詳細(xì)說明這樣的話就能清楚的知道含義。

    2) 代碼更優(yōu)雅

    在項(xiàng)目大一點(diǎn)當(dāng)中,可以使用數(shù)百個(gè)靜態(tài)常量。如果它們都寫在一個(gè)文件類里面的話,很容易造成命名混亂,程序也很難讀取。

    3) 枚舉類可以幫助我們定義所需的類型

    枚舉易于記憶和使用,相當(dāng)于一個(gè)接口。使用時(shí),只需封裝內(nèi)部數(shù)據(jù)類型并限制數(shù)據(jù)字段。此外,可以為不同的枚舉變量調(diào)用不同的處理方法(這可以通過實(shí)現(xiàn)枚舉類的抽象方法來實(shí)現(xiàn))。

    枚舉類的定義和使用

    下面就定義一個(gè)試題類型的枚舉類吧

    /** * 試題類型 枚舉類; 0 填空題、1 判斷 題、2 單選題、3 多選題、4 簡答題、5 問答題、6 論述題、7 計(jì)算題、8 畫圖題、9 其他題 * @author lyy * @date 2022/05/23 */public enum TopicTypeEnum { /** 填空題 */ FILL_IN_THE_BLANK(0, “填空題”), /** 判斷題 */ JUDGE(1, “判斷題”), /** 單選題 */ SINGLE_CHOICE(2, “單選題”), /** 多選題 */ MULTIPLE_CHOICE(3, “多選題”), /** 簡答題 */ BRIEF_ANSWER(4, “簡答題”), /** 問答題 */ QUESTIONS_AND_ANSWERS(5, “問答題”), /** 論述題 */ DISCUSS(6, “論述題”), /** 計(jì)算題 */ COMPUTE(7, “計(jì)算題”), /** 畫圖題 */ //最后一個(gè)類型必須要用分號(hào)結(jié)束 DRAW_PICTURE(9, “畫圖題”); /** 值 */ private final Integer code; /** 名稱 */ private final String name; public static TopicTypeEnum getByCode(Integer code) { if (null == code) { return null; } for (TopicTypeEnum status : TopicTypeEnum.values()) { if (status.getCode().intValue() == code.intValue()) { return status; } } return null; } public static TopicTypeEnum getByName(String name) { for (TopicTypeEnum status : TopicTypeEnum.values()) { if (status.getName().equals(name)) { return status; } } return null; } public static List getNameCode() { return Stream.of(TopicTypeEnum.values()) .map(item -> new NameCode(item.getCode(), item.getName())) .collect(Collectors.toList()); } TopicTypeEnum (Integer code, String name) { this.code = code; this.name = name; } public Integer getCode() { return code; } public String getName() { return name; } /** * @author lyy * @date 2022/06/14 * @return 枚舉對(duì)象數(shù)組 */ public static List toList() { List list = new ArrayList(); for (TopicTypeEnum item : TopicTypeEnum.values()) { Map map = new HashMap(); map.put(“code”, item.getCode()); map.put(“name”, item.getName()); list.add(map); } return list; }復(fù)制代碼

    枚舉類的常用方法

    • valueOf():返回當(dāng)前枚舉類的name屬性,如果沒有,則throw new java.lang.IllegalArgumentException()。具體可以查看java.lang.Enum源碼。
    • values():返回包括所有枚舉變量的數(shù)組。
    • toString(),name():返回當(dāng)前枚舉類變量的name屬性
    • ordinal():枚舉類會(huì)給所有的枚舉變量一個(gè)默認(rèn)的次序,該次序從0開始,是根據(jù)我們定義的次序來排序的。而ordinal()方法就是獲取這個(gè)次序(或者說下標(biāo))。
    • compareTo():返回兩個(gè)次序相減后的結(jié)果。
    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月18日 12:02
    下一篇 2022年6月18日 12:02

    相關(guān)推薦

    • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應(yīng)該怎么發(fā))

      對(duì)于微商朋友來說,朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營一個(gè)朋友圈,有的微商看起來逼格滿滿,實(shí)際效果也不錯(cuò);而有的卻動(dòng)都不動(dòng)就被屏蔽甚至拉黑…

      2022年11月27日
    • 30個(gè)無加盟費(fèi)的項(xiàng)目(茶顏悅色奶茶店加盟費(fèi)多少)

      茶顏悅色又爆了,8月18日,茶顏悅色南京門店正式開業(yè),開張不到半小時(shí),門店就人滿為患,消費(fèi)者的購買熱情十分高漲,而由于人流量過大造成擁堵,茶顏悅色也不得不暫停營業(yè)。 當(dāng)然,這里面排…

      2022年11月27日
    • 存儲(chǔ)過程語法(sql server存儲(chǔ)過程語法)

      今天小編給各位分享存儲(chǔ)過程語法的知識(shí),其中也會(huì)對(duì)sql server存儲(chǔ)過程語法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲(chǔ)過程基本語法…

      2022年11月26日
    • 凈利潤率越高越好嗎(凈利潤率多少合適)

      一、持續(xù)增收不增利,平均凈利潤率首次跌入個(gè)位數(shù) 2021年,增收不增利依舊是行業(yè)主流。具體來看,大部分企業(yè)營業(yè)收入呈增長態(tài)勢(shì),E50企業(yè)平均同比增速達(dá)到17.3%,但是利潤增速則明…

      2022年11月26日
    • 《寶可夢(mèng)朱紫》夢(mèng)特性怎么獲得?隱藏特性獲取方法推薦

      寶可夢(mèng)朱紫里有很多寶可夢(mèng)都是擁有夢(mèng)特性會(huì)變強(qiáng)的寶可夢(mèng),很多玩家不知道夢(mèng)特性怎么獲得,下面就給大家?guī)韺毧蓧?mèng)朱紫隱藏特性獲取方法推薦,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 …

      2022年11月25日
    • 《寶可夢(mèng)朱紫》奇魯莉安怎么進(jìn)化?奇魯莉安進(jìn)化方法分享

      寶可夢(mèng)朱紫中的奇魯莉安要怎么進(jìn)化呢?很多玩家都不知道,下面就給大家?guī)韺毧蓧?mèng)朱紫奇魯莉安進(jìn)化方法分享,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 奇魯莉安進(jìn)化方法分享 奇魯莉安…

      2022年11月25日
    • 規(guī)范透明促PPP高質(zhì)量發(fā)展——16萬億元大市場迎來新規(guī)

      近日,財(cái)政部印發(fā)《關(guān)于進(jìn)一步推動(dòng)政府和社會(huì)資本合作(PPP)規(guī)范發(fā)展、陽光運(yùn)行的通知》,從做好項(xiàng)目前期論證、推動(dòng)項(xiàng)目規(guī)范運(yùn)作、嚴(yán)防隱性債務(wù)風(fēng)險(xiǎn)、保障項(xiàng)目陽光運(yùn)行四個(gè)方面進(jìn)一步規(guī)范P…

      2022年11月25日
    • 推薦3種白手起家的賺錢項(xiàng)目(白手起家賺錢項(xiàng)目有哪些)

      如今社會(huì)壓力非常的大,家有老少要養(yǎng)活,這些都加速了窮人想要?jiǎng)?chuàng)業(yè)的欲望,但是創(chuàng)業(yè)路總是那么的艱難,資金就是創(chuàng)業(yè)的重頭戲,所以選擇一個(gè)低成本又賺錢的項(xiàng)目是大多數(shù)人最期望的了,那么有哪些…

      2022年11月25日
    • 閑魚運(yùn)營的4大技巧解析(閑魚運(yùn)營怎么做)

      熟悉我又來了,上一次寫的文章是爆出風(fēng)水項(xiàng)目的潛規(guī)則,但那個(gè)項(xiàng)目已經(jīng)涼涼了。 這一次我是要教一些小白,你們第一次做互聯(lián)網(wǎng)的建議做的項(xiàng)目之一,這個(gè)項(xiàng)目就是閑魚賣二手物品賺差價(jià)了!!! …

      2022年11月24日
    • 1千克等于多少磅

      克,此定義在1958年被美國以及其他英聯(lián)邦會(huì)員國承認(rèn)換算回來,一千克等于262磅,一磅等于037千克英國在1963年開始,依據(jù)度量衡法案的規(guī);1 磅=16 盎司=04536 千克 …

      2022年11月24日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息