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

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

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

一、枚舉的定義

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

C# 枚舉是值類(lèi)型。換句話說(shuō),枚舉包含自己的值,且不能繼承或傳遞繼承。

二、枚舉的聲明

聲明枚舉的一般語(yǔ)法:

enum <enum_name>
{ 
    enumeration list 
};

其中,

  • enum_name指定枚舉的類(lèi)型名稱(chēng)。
  • enumeration list是一個(gè)用逗號(hào)分隔的標(biāo)識(shí)符列表。

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

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

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

因?yàn)槊杜e的符號(hào)是一個(gè)常量字段,如果在不同的程序集引用,可能會(huì)出現(xiàn)一些版本問(wèn)題,

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

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

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

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

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

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

四、枚舉的方法

枚舉的主要三個(gè)方法: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:獲取單個(gè)枚舉的名稱(chēng)

GetNames:獲取所有枚舉的名稱(chēng)

GetValues:獲取所有枚舉的值

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

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

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
}

此時(shí)可以使用位移運(yùn)算方便的獲取多個(gè)枚舉的組合變量:

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

或在組合中刪除其中一項(xiàng)枚舉:

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

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

(curMyEnum & MyEnum.Enum1) > 0

并集  &交集  ^差集

總結(jié)

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

相關(guān)文章

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

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

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

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

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

    springboot?maven?plugin報(bào)紅的解決辦法

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

    Java中的泛型詳細(xì)解析

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

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

    下面小編就為大家?guī)?lái)一篇java中將一個(gè)List等分成n個(gè)list的工具方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • 簡(jiǎn)易JDBC框架實(shí)現(xiàn)過(guò)程詳解

    簡(jiǎn)易JDBC框架實(shí)現(xiàn)過(guò)程詳解

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

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

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

    CORS跨域問(wèn)題常用解決方法代碼實(shí)例

    這篇文章主要介紹了CORS跨域問(wèn)題常用解決方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java自帶的加密類(lèi)MessageDigest類(lèi)代碼示例

    Java自帶的加密類(lèi)MessageDigest類(lèi)代碼示例

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

    java?Map接口子類(lèi)HashMap遍歷與LinkedHashMap詳解

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

最新評(píng)論