最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java面向?qū)ο蠡A(chǔ)知識之枚舉

 更新時間:2021年11月08日 09:55:06   作者:一指流砂~  
這篇文章主要介紹了Java面向?qū)ο蟮闹杜e,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下

一、枚舉的定義

枚舉是一組命名整型常量。枚舉類型是使用enum關(guān)鍵字聲明的。

C# 枚舉是值類型。換句話說,枚舉包含自己的值,且不能繼承或傳遞繼承。

二、枚舉的聲明

聲明枚舉的一般語法:

enum <enum_name>
{ 
    enumeration list 
};

其中,

  • enum_name指定枚舉的類型名稱。
  • enumeration list是一個用逗號分隔的標(biāo)識符列表。

枚舉列表中的每個符號代表一個整數(shù)值,一個比它前面的符號大的整數(shù)值。默認(rèn)情況下,第一個枚舉符號的值是 0.例如:

enum Day { Sun, Mon, tue, Wed, thu, Fri, Sat };

在編譯枚舉類型時,會把每個符號轉(zhuǎn)換成類型的一個常量字段很一個int32的公共實例字段,不夠后者不能通過代碼調(diào)用。

因為枚舉的符號是一個常量字段,如果在不同的程序集引用,可能會出現(xiàn)一些版本問題,

每個枚舉都有一個基礎(chǔ)類型, 包含 byte,sbyte,short,ushort,uint,long ,ulong, 和int (最常用,C#默認(rèn)的類型)

三、枚舉的轉(zhuǎn)換

枚舉轉(zhuǎn)換成整數(shù)

Day today = Day.Wed;
int dayNumber = (int)today;

枚舉轉(zhuǎn)換成字符串

Day today = Day.Wed;
string todayStr = today.ToString();

四、枚舉的方法

枚舉的主要三個方法:Enum.GetName() 、Enum.GetNames()、Enum.GetValues()

Day today = Day.Wed;
string name = Enum.GetName(typeof(Day), 3);
Enum.GetNames(typeof(Day))
Enum.GetValues(typeof(Day))

GetName:獲取單個枚舉的名稱

GetNames:獲取所有枚舉的名稱

GetValues:獲取所有枚舉的值

五、標(biāo)志枚舉(二進(jìn)制枚舉)

定義枚舉時,添加Flags特性,之后便可以對這些值執(zhí)行AND、OR、NOT、XOR按位運算

public enum MyEnum
{
    MyEnum1 = 1, //0x1
    MyEnum2 = 1 << 1, //0x2
    MyEnum3 = 1 << 2, //0x4
    MyEnum4 = 1 << 3, //0x8
    MyEnum5 = 1 << 4, //0x10
    MyEnum6 = 1 << 5, //0x20
    MyEnum7 = 1 << 6 //0x40
}

此時可以使用位移運算方便的獲取多個枚舉的組合變量:

MyEnum myEnum = MyEnum.MyEnum1 | MyEnum.MyEnum2;
myEnum |= myEnum | MyEnum.MyEnum3;

或在組合中刪除其中一項枚舉:

myEnum ^= MyEnum.MyEnum1;
myEnum &= ~MyEnum.MyEnum2;

需要判斷是否包含某一枚舉值時,可以使用以下方法判斷:

(curMyEnum & MyEnum.Enum1) > 0

并集  &交集  ^差集

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Java如何實現(xiàn)List自定義排序

    Java如何實現(xiàn)List自定義排序

    這篇文章主要介紹了Java如何實現(xiàn)List自定義排序,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-09-09
  • 關(guān)于MyBatis Plus中使用or和and問題

    關(guān)于MyBatis Plus中使用or和and問題

    這篇文章主要介紹了關(guān)于MyBatis Plus中使用or和and問題,需要的朋友可以參考下
    2020-12-12
  • SpringMVC中DispatcherServlet的HandlerMapping詳解

    SpringMVC中DispatcherServlet的HandlerMapping詳解

    這篇文章主要介紹了SpringMVC中DispatcherServlet的HandlerMapping詳解,上回說的Handler,我們說是處理特定請求的,也就是說,不是所有的請求都能處理,那么問題來了,我們怎知道哪個請求是由哪個Handler處理的呢,需要的朋友可以參考下
    2023-10-10
  • Java8 forEach常用場景代碼實例

    Java8 forEach常用場景代碼實例

    這篇文章主要介紹了Java8 forEach常用場景代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot Admin健康檢查功能的實現(xiàn)

    SpringBoot Admin健康檢查功能的實現(xiàn)

    admin主要就是告訴運維人員,服務(wù)出現(xiàn)異常,然后進(jìn)行通知(微信、郵件、短信、釘釘?shù)龋┛梢苑浅?焖偻ㄖ竭\維人員,相當(dāng)報警功能,接下來通過本文給大家介紹SpringBoot Admin健康檢查的相關(guān)知識,一起看看吧
    2021-06-06
  • Java實現(xiàn)添加條形碼到PDF表格的方法詳解

    Java實現(xiàn)添加條形碼到PDF表格的方法詳解

    條碼的應(yīng)用已深入生活和工作的方方面面。本文以操作PDF文件為例,介紹如何利用Java語言在編輯表格時,向單元格中添加條形碼,感興趣的可以學(xué)習(xí)一下
    2022-06-06
  • Java 數(shù)據(jù)結(jié)構(gòu)進(jìn)階二叉樹題集上

    Java 數(shù)據(jù)結(jié)構(gòu)進(jìn)階二叉樹題集上

    二叉樹可以簡單理解為對于一個節(jié)點來說,最多擁有一個上級節(jié)點,同時最多具備左右兩個下級節(jié)點的數(shù)據(jù)結(jié)構(gòu)。本文將帶你通過實際題目來熟練掌握
    2022-04-04
  • 關(guān)于java獲取新浪天氣示例

    關(guān)于java獲取新浪天氣示例

    這篇文章主要介紹了關(guān)于java獲取新浪天氣示例,新浪的接口可以直接通過城市名字查詢天氣所以這里使用新浪API,,需要的朋友可以參考下
    2023-04-04
  • javaweb設(shè)計中filter粗粒度權(quán)限控制代碼示例

    javaweb設(shè)計中filter粗粒度權(quán)限控制代碼示例

    這篇文章主要介紹了javaweb設(shè)計中filter粗粒度權(quán)限控制代碼示例,小編覺得還是挺不錯的,需要的朋友可以參考。
    2017-10-10
  • 基于Java實現(xiàn)的圖的廣度優(yōu)先遍歷算法

    基于Java實現(xiàn)的圖的廣度優(yōu)先遍歷算法

    這篇文章主要介紹了基于Java實現(xiàn)的圖的廣度優(yōu)先遍歷算法,需要的朋友可以參考下
    2014-07-07

最新評論

湖口县| 河间市| 温州市| 巴中市| 敦煌市| 华容县| 福海县| 遂平县| 邵武市| 肃北| 深圳市| 西丰县| 瑞昌市| 黄陵县| 通渭县| 岚皋县| 洪雅县| 南木林县| 莆田市| 滦南县| 塔河县| 商丘市| 宜君县| 翁牛特旗| 夏邑县| 四平市| 长岛县| 综艺| 光泽县| 陇川县| 定西市| 江都市| 扎囊县| 嵊州市| 徐州市| 洮南市| 东光县| 广南县| 定州市| 阿克苏市| 彩票|