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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習攻略 Java學(xué)習 Java枚舉類簡介

Java枚舉類簡介

更新時間:2022-11-22 09:30:55 來源:動力節(jié)點 瀏覽1413次

什么是 Java 中的枚舉?

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

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

public enum AuthLvl {
    ADMIN,
    USER,
    UNAUTHORIZED
}

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

AuthLvl userLvl = AuthLvl.ADMIN;

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

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

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

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

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

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

public final String permission;

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

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

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

這種標記進一步擴展了枚舉及其常量的功能,使它們更加靈活和健壯。

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

如何在 Java 中使用枚舉

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

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

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

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

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

Java 枚舉示例

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

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

讓我們看一下將Auth枚舉與 switch 語句相結(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;
}

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

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

開始在您的軟件中使用 Java 枚舉

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

提交申請后,顧問老師會電話與您溝通安排學(xué)習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 在线观看亚洲网站 | 色激情综合网 | 欧美乱妇高清视频免欢看关 | 日本1区2区 | 亚洲人成网i8禁止 | 免费一级成人免费观看 | 深夜福利国产福利视频 | 每日更新国产精品视频 | 国产一区二区三区免费观看 | 91在线播放视频 | 欧美日韩一区二区在线观看 | 久久人人干 | 色偷偷亚洲精品一区二区 | 日日拍夜夜拍 | 一a级毛片 | 九九精品久久 | 日韩在线观看网站 | 美女一级a毛片免费观看 | 日韩欧免费一区二区三区 | 国产欧美亚洲精品第一区 | 日韩毛片欧美一级国产毛片 | 久热爱免费精品视频在线播放 | 天天舔天天爽 | 婷婷午夜激情 | 一及 片日本 | 亚洲爱爱天堂 | 亚洲欧美香蕉在线日韩精选 | 色综合综合色综合色综合 | 超97在线观看精品国产 | 日韩第三页 | 99久久国产视频 | 国产在线拍国产拍拍偷 | 一区二区三区免费在线观看 | 欧美日韩中文亚洲v在线综合 | 成人国产在线视频在线观看 | 综合久久久久6亚洲综合 | 成人午夜精品网站在线观看 | 青青影院一区二区免费视频 | 狠狠操图片| 四虎影剧院 | 四虎影院新地址 |