欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、枚舉的定義

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

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

二、枚舉的聲明

聲明枚舉的一般語法:

enum <enum_name>
{ 
    enumeration list 
};

其中,

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

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

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

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

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

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

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

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

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

  • mall整合SpringSecurity及JWT認證授權(quán)實戰(zhàn)下

    mall整合SpringSecurity及JWT認證授權(quán)實戰(zhàn)下

    這篇文章主要為大家介紹了mall整合SpringSecurity及JWT認證授權(quán)實戰(zhàn)第二篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Java實現(xiàn)4種微信搶紅包算法(小結(jié))

    Java實現(xiàn)4種微信搶紅包算法(小結(jié))

    微信紅包是大家經(jīng)常使用的,到現(xiàn)在為止仍然有很多紅包開發(fā)的需求,實現(xiàn)搶紅包算法也是面試??碱},本文就詳細的來介紹一下如何實現(xiàn),感興趣的可以了解一下
    2021-12-12
  • springboot?maven?plugin報紅的解決辦法

    springboot?maven?plugin報紅的解決辦法

    本文主要介紹了springboot?maven?plugin報紅的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Java中的泛型詳細解析

    Java中的泛型詳細解析

    這篇文章主要介紹了Java中的泛型詳細解析,泛型又稱參數(shù)化類型,是JDK5.0出現(xiàn)的新特性,解決了數(shù)據(jù)類型的安全型問題,Java泛型可以保證如果程序在編譯時沒用發(fā)出警告,運行時就不會產(chǎn)生classCastException異常,需要的朋友可以參考下
    2024-01-01
  • java中將一個List等分成n個list的工具方法(推薦)

    java中將一個List等分成n個list的工具方法(推薦)

    下面小編就為大家?guī)硪黄猨ava中將一個List等分成n個list的工具方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 簡易JDBC框架實現(xiàn)過程詳解

    簡易JDBC框架實現(xiàn)過程詳解

    這篇文章主要介紹了簡易JDBC框架實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • spring boot starter actuator(健康監(jiān)控)配置和使用教程

    spring boot starter actuator(健康監(jiān)控)配置和使用教程

    這篇文章主要介紹了spring-boot-starter-actuator(健康監(jiān)控)配置和使用教程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • CORS跨域問題常用解決方法代碼實例

    CORS跨域問題常用解決方法代碼實例

    這篇文章主要介紹了CORS跨域問題常用解決方法代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Java自帶的加密類MessageDigest類代碼示例

    Java自帶的加密類MessageDigest類代碼示例

    這篇文章主要介紹了Java自帶的加密類MessageDigest類代碼示例,分享了常見的三種加密方式代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • java?Map接口子類HashMap遍歷與LinkedHashMap詳解

    java?Map接口子類HashMap遍歷與LinkedHashMap詳解

    這篇文章主要介紹了java?Map接口子類HashMap遍歷與LinkedHashMap詳解,Map接口下的集合與Collection接口下的集合,它們存儲數(shù)據(jù)的形式不同,感興趣的小伙伴可以參考下面文章詳細內(nèi)容介紹
    2022-06-06

最新評論