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

Java面向對象基礎知識之枚舉

 更新時間:2021年11月08日 09:55:06   作者:一指流砂~  
這篇文章主要介紹了Java面向對象的之枚舉,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很好的幫助,需要的朋友可以參考下

一、枚舉的定義

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

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

二、枚舉的聲明

聲明枚舉的一般語法:

enum <enum_name>
{ 
    enumeration list 
};

其中,

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

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

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

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

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

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

三、枚舉的轉換

枚舉轉換成整數(shù)

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

枚舉轉換成字符串

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:獲取所有枚舉的值

五、標志枚舉(二進制枚舉)

定義枚舉時,添加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

并集  &交集  ^差集

總結

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

相關文章

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

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

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

    關于MyBatis Plus中使用or和and問題

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

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

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

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

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

    Java 數(shù)據(jù)結構進階二叉樹題集上

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

    關于java獲取新浪天氣示例

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

    javaweb設計中filter粗粒度權限控制代碼示例

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

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

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

最新評論

芜湖县| 桑日县| 桃源县| 合作市| 大英县| 高雄县| 永清县| 乐亭县| 伊宁市| 开鲁县| 乌恰县| 玉门市| 宁夏| 杭锦旗| 铜川市| 克拉玛依市| 太湖县| 邮箱| 望城县| 峡江县| 北川| 登封市| 永登县| 德阳市| 七台河市| 阳城县| 邓州市| 宝鸡市| 乾安县| 理塘县| 平谷区| 盘山县| 合山市| 米泉市| 常州市| 梁山县| 昌宁县| 建昌县| 德安县| 临泽县| 论坛|