大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java枚舉類(lèi)簡(jiǎn)介

Java枚舉類(lèi)簡(jiǎn)介

更新時(shí)間:2022-11-22 09:30:55 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1235次

什么是 Java 中的枚舉?

Java 枚舉是一種 Java 類(lèi)型類(lèi),用于根據(jù)您自己的需要為您的軟件定義常量集合。Java 枚舉中的每一項(xiàng)都稱(chēng)為常量,一個(gè)不可變的變量——一個(gè)不能更改的值。常量經(jīng)常用于幫助定義軟件或用戶(hù)的操作參數(shù)和指南。

創(chuàng)建枚舉是一項(xiàng)簡(jiǎn)單的任務(wù),不需要太多討論。聲明枚舉是使用標(biāo)準(zhǔn)語(yǔ)法完成的,看起來(lái)很像聲明Java 類(lèi)。唯一真正的區(qū)別是它使用專(zhuān)門(mén)為枚舉保留的唯一關(guān)鍵字,并且它們是類(lèi)型安全的對(duì)象。類(lèi)型安全對(duì)象在編譯時(shí)檢查類(lèi)型一致性,并且

public enum AuthLvl {
    ADMIN,
    USER,
    UNAUTHORIZED
}

上面的代碼可用于創(chuàng)建一個(gè)枚舉,用于在登錄時(shí)設(shè)置用戶(hù)的授權(quán)級(jí)別。要訪問(wèn)常量,您只需像調(diào)用類(lèi)類(lèi)型(例如String或int )一樣調(diào)用它,然后將其分配給一個(gè)變量,然后該變量將附加到用戶(hù)。讓我們看一下用于訪問(wèn)上述常量之一并將其分配給用戶(hù)的語(yǔ)法。

AuthLvl userLvl = AuthLvl.ADMIN;

名為 userLvl 的變量將具有與聲明的枚舉類(lèi)型同名的類(lèi)型,其值將是常量之一。在此示例中,userLvl設(shè)置為 ADMIN 的值,它作為AuthLvl類(lèi)型類(lèi)的屬性訪問(wèn)。

如何在 Java 中設(shè)置枚舉值

Java Enum 的偉大之處在于常量除了名稱(chēng)之外還可以有值。例如,可以將特定權(quán)限添加為 ADMIN 級(jí)別用戶(hù)的值,例如授予他們寫(xiě)入權(quán)限。

讓我們使用我們的用戶(hù)身份驗(yàn)證和權(quán)限示例看看代碼是什么樣的。

public enum Auth {
    ADMIN("Write");
    public final String permission;
    private Auth(String permission) {
        this.permission = permission;
    }
}

上面代碼中的 ADMIN 常量中添加了一個(gè)新的字符串值“Write”。這是朝著正確方向邁出的重要一步,但您仍然無(wú)法訪問(wèn)該值。為了確保訪問(wèn)可用,Java 要求將值分配為final,這是另一種類(lèi)型的常量。

public final String permission;

從那里您可以更進(jìn)一步,并為該值命名。命名該值允許通過(guò)多種方式訪問(wèn)??它,以便在需要時(shí)更容易定位。要命名枚舉常量的值,您需要將其分配給枚舉的this值。您可以多次完成此過(guò)程,以創(chuàng)建您認(rèn)為合適的值并將值添加到枚舉常量。

private Auth(String permission) {
   this.permission = permission;
}

到目前為止,您已經(jīng)將枚舉和命名常量聲明為它的值,從而擴(kuò)展了它的用途。此外,在這一點(diǎn)上,您甚至通過(guò)將值分配給枚舉的這個(gè)屬性來(lái)為該值指定一個(gè)標(biāo)簽。這樣做的好處是您可以使用點(diǎn)表示法按名稱(chēng)檢索值。以下代碼片段顯示了如何定位此值并將其打印到控制臺(tái)。

這種標(biāo)記進(jìn)一步擴(kuò)展了枚舉及其常量的功能,使它們更加靈活和健壯。

接下來(lái),讓我們看看我們可以將此枚舉合并到我們的代碼中的方法。

如何在 Java 中使用枚舉

枚舉的主要用途是比較,就像我們的簡(jiǎn)單 auth 枚舉示例一樣。使用它,您可以將用戶(hù)的授權(quán)級(jí)別與其各自的權(quán)限進(jìn)行比較。比較運(yùn)算可用于if塊、switch語(yǔ)句、函數(shù)、循環(huán)等。

讓我們看一下這些用途的幾個(gè)示例,看看如何執(zhí)行這些比較。

String[] currUser = {"John Smith", "Write"};
if(Auth.ADMIN.permission == currUser[1]){
   System.out.println(true);
}

在主類(lèi)中編寫(xiě)的這個(gè)設(shè)置將檢查當(dāng)前用戶(hù)的授權(quán)級(jí)別和權(quán)限,然后執(zhí)行指定的操作。這可以用來(lái)驗(yàn)證用戶(hù)是否有權(quán)在軟件中執(zhí)行某些操作,例如編輯信息。

現(xiàn)在您已經(jīng)了解了如何使用它進(jìn)行比較,讓我們看一下 switch 語(yǔ)句中枚舉的實(shí)際用例。

Java 枚舉示例

使用枚舉進(jìn)行比較驗(yàn)證的最實(shí)用方法之一是將其與 switch 語(yǔ)句結(jié)合使用。Switch 語(yǔ)句提供了一種為軟件操作參數(shù)創(chuàng)建顯式控制的方法。結(jié)合枚舉常量的優(yōu)勢(shì),設(shè)置控制參數(shù)變得更加簡(jiǎn)單。

下面的視頻說(shuō)明了如何使用 switch 語(yǔ)句設(shè)置枚舉。

讓我們看一下將Auth枚舉與 switch 語(yǔ)句相結(jié)合的代碼片段。

String[] currUser = {"John Smith", Auth.USER.toString()};        
switch (currUser[1]) {
   case "ADMIN":
      Auth level = Auth.ADMIN;
      System.out.println("You have logged in as an Administrator ");
   break;
   case "USER":
      Auth level = Auth.ADMIN;
      System.out.println(Auth.USER);
   break;
   case "UNAUTHORIZED":
      Auth level = Auth.ADMIN;  
      System.out.println(Auth.UNAUTHORIZED);
   break;
}

請(qǐng)注意toString()方法的使用,該方法將常量轉(zhuǎn)換為Java 字符串以用于currUser數(shù)組。switch 語(yǔ)句比較每個(gè) case 的字符串,如果提供的 case 匹配,它將執(zhí)行一個(gè)操作。此 switch 語(yǔ)句根據(jù)currUser數(shù)組中的第二個(gè)值設(shè)置當(dāng)前用戶(hù)級(jí)別。

在此示例中,如果大小寫(xiě)匹配,則等效的枚舉常量將分配給名為 level 的 Auth 類(lèi)型變量。然后使用當(dāng)前用戶(hù)會(huì)話(huà)來(lái)定義用戶(hù)的操作參數(shù)和權(quán)限。

開(kāi)始在您的軟件中使用 Java 枚舉

Java 枚舉是一個(gè)功能強(qiáng)大的工具,可用于執(zhí)行大量操作、設(shè)置控件、參數(shù)等。知道如何確定它們何時(shí)最有用將主要來(lái)自實(shí)踐。有一個(gè)很好的經(jīng)驗(yàn)法則,即考慮一個(gè)值是否只能具有一組特定的不可變值中的一個(gè)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 在线日韩亚洲 | 成人久久18免费网站 | 午夜一级精品免费毛片 | 国产日本三级 | 日韩中文字幕精品免费一区 | 亚洲欧洲日本在线 | 日本中文字幕一区二区 | 国产亚洲精品久久久久久久软件 | 羞羞在线 | 一级肉体毛片视频免费看看 | 亚洲国产精品综合久久久 | 国产毛片久久久久久国产毛片 | 97影院支持微信微博观看 | 国产精品嫩草影院99av视频 | 国产成人久久精品二区三区牛 | 手机看黄av免费网址 | 天天看片天天爽 | 天天操天天爱天天干 | 添bbb免费观看高清视频 | 91亚洲精品福利在线播放 | 日本黄页网址 | 久久99国产一区二区三区 | 亚洲国产福利精品一区二区 | 青草91| 99re热久久精品这里都是精品 | 免费观看国产精品视频 | 国产69精品久久久久99 | 亚洲午夜日韩高清一区 | 全部免费特黄特色大片视频 | 狠狠色丁香婷婷久久综合不卡 | 国产一区精品视频 | 亚洲欧美日韩激情在线观看 | 在线观看精品国语偷拍 | 一区免费在线观看 | 成人国产片免费 | 亚洲精品久久久久久久久久久网站 | 久久久综合网 | 桃色视频网 | 幸福宝色多多 | 日本三级中文 | 久久国产乱子伦精品免费强 |