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

JAVA最容易忽視的數(shù)據(jù)類型之枚舉詳解

 更新時(shí)間:2023年10月20日 10:19:54   作者:許思王  
這篇文章主要給大家介紹了關(guān)于JAVA最容易忽視的數(shù)據(jù)類型之枚舉的相關(guān)資料,Java中的枚舉類型是一種特殊的類型,它允許程序員定義一個(gè)固定的值集合,并為每個(gè)值分配一個(gè)名稱,枚舉類型提供了一種簡(jiǎn)單、安全和可讀性強(qiáng)的方式來表示一組相關(guān)的常量,需要的朋友可以參考下

前言

Java枚舉是一個(gè)特殊的類一般表示一組常量,比如一年的 4個(gè)季節(jié),一年的 12 個(gè)月份,一個(gè)星期的7天,方向有東南西北等。今天就讓我們來學(xué)習(xí)一下在JAVA中這個(gè)特殊的類。

枚舉

枚舉是一種數(shù)據(jù)類型,用于定義一組具有相同屬性的常量集合。在枚舉中,每個(gè)常量都有一個(gè)名稱和一個(gè)關(guān)聯(lián)的值,可以通過名稱或值來引用常量。枚舉常用于減少代碼中的魔法數(shù)字或字符串,使代碼更加清晰易懂。

enum Color
{
    RED, GREEN, BLUE;
}
 
public class Test
{
    // 執(zhí)行輸出結(jié)果
    public static void main(String[] args)
    {
        Color c1 = Color.RED;
        System.out.println(c1);
    }
}

在這個(gè)枚舉中,我們定義了三個(gè)常量:Red,GreenBlue。默認(rèn)情況下,它們的值分別為0、1和2。我們將枚舉中的Red常量分配給myColor變量,并檢查myColor是否等于枚舉中的Green常量。

Color myColor = Color.Red;
if (myColor == Color.Green)
{
    // ...
}

內(nèi)部類里使用枚舉

可以在Java內(nèi)部類中使用枚舉,可以通過在內(nèi)部類中定義枚舉類型來實(shí)現(xiàn)。

public class Outer {
    private int x;

    public void doSomething() {
        Inner inner = new Inner();
        inner.doSomethingElse();
    }

    private class Inner {
        private void doSomethingElse() {
            Status status = Status.IN_PROGRESS;
            // ...
        }

        private enum Status {
            IN_PROGRESS,
            COMPLETED,
            FAILED
        }
    }
}

在上面的代碼中,內(nèi)部類inner中定義了一個(gè)枚舉類型Status。在doSomethingElse()方法中,可以創(chuàng)建枚舉類型的實(shí)例并使用它們。

迭代枚舉元素

在Java中,我們可以使用迭代器(Iterator)來枚舉集合中的元素。

List<String> strings = new ArrayList<>();
strings.add("foo");
strings.add("bar");
strings.add("baz");

Iterator<String> iterator = strings.iterator();
while (iterator.hasNext()) {
    String str = iterator.next();
    System.out.println(str);
}

在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)包含三個(gè)字符串的ArrayList。然后,我們創(chuàng)建一個(gè)迭代器對(duì)象,并使用while循環(huán)來遍歷ArrayList中的所有元素。在每次循環(huán)迭代時(shí),我們通過調(diào)用next()方法獲取下一個(gè)元素,并將其賦值給一個(gè)字符串變量。然后,我們將該字符串打印輸出。循環(huán)會(huì)一直執(zhí)行,直到?jīng)]有更多的元素。

需要注意的是,迭代器只能單向遍歷集合,不能隨意增加或刪除元素。如果需要對(duì)集合進(jìn)行修改操作,應(yīng)該使用集合本身提供的方法進(jìn)行操作。

在 switch 中使用枚舉類

枚舉類常應(yīng)用于 switch 語句中。

public class Main {
    enum Day {
        MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }

    public static void main(String[] args) {
        Day day = Day.TUESDAY;

        switch (day) {
            case MONDAY:
                System.out.println("Today is Monday");
                break;
            case TUESDAY:
                System.out.println("Today is Tuesday");
                break;
            case WEDNESDAY:
                System.out.println("Today is Wednesday");
                break;
            case THURSDAY:
                System.out.println("Today is Thursday");
                break;
            case FRIDAY:
                System.out.println("Today is Friday");
                break;
            case SATURDAY:
                System.out.println("Today is Saturday");
                break;
            case SUNDAY:
                System.out.println("Today is Sunday");
                break;
            default:
                System.out.println("Invalid day");
                break;
        }
    }
}

在上面的代碼中,我們定義了一個(gè)Day枚舉類,其中包含一周中的每一天。在main方法中,我們創(chuàng)建了一個(gè)Day枚舉實(shí)例,并在switch語句中使用了這個(gè)枚舉實(shí)例。根據(jù)Day的不同值,我們輸出不同的結(jié)果。

在使用枚舉類時(shí),switch語句必須針對(duì)枚舉類型進(jìn)行匹配,否則編譯器會(huì)發(fā)出警告。此外,在枚舉類型中必須包含一個(gè)default分支,以處理可能的無效輸入。

總結(jié)

到此這篇關(guān)于JAVA最容易忽視的數(shù)據(jù)類型之枚舉的文章就介紹到這了,更多相關(guān)JAVA數(shù)據(jù)類型枚舉內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring中的參數(shù)校驗(yàn)技術(shù):jakarta.validation使用詳解

    spring中的參數(shù)校驗(yàn)技術(shù):jakarta.validation使用詳解

    Jakarta Validation 是一個(gè)用于校驗(yàn)傳遞參數(shù)的工具,通過注解(如 @NotBlank、@NotNull)在 Spring Boot 框架中可以直接引用依賴進(jìn)行參數(shù)校驗(yàn),示例展示了如何在登錄和獲取信息接口中使用這些注解進(jìn)行參數(shù)校驗(yàn)
    2025-11-11
  • SpringBoot升級(jí)后Hystrix沒了以及3個(gè)替代方案分享

    SpringBoot升級(jí)后Hystrix沒了以及3個(gè)替代方案分享

    這篇文章主要介紹了SpringBoot升級(jí)后Hystrix沒了以及3個(gè)替代方案分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-04-04
  • Spring簡(jiǎn)明分析Bean作用域

    Spring簡(jiǎn)明分析Bean作用域

    scope用來聲明容器中的對(duì)象所應(yīng)該處的限定場(chǎng)景或者說該對(duì)象的存活時(shí)間,即容器在對(duì)象進(jìn)入其 相應(yīng)的scope之前,生成并裝配這些對(duì)象,在該對(duì)象不再處于這些scope的限定之后,容器通常會(huì)銷毀這些對(duì)象,這篇文章主要介紹了Spring中的Bean作用域,需要的朋友可以參考下
    2022-07-07
  • Spring Boot  Excel文件導(dǎo)出下載實(shí)現(xiàn)代碼

    Spring Boot Excel文件導(dǎo)出下載實(shí)現(xiàn)代碼

    這篇文章帶領(lǐng)我們直接實(shí)現(xiàn)Excel文件的直接導(dǎo)出下載,后續(xù)開發(fā)不需要開發(fā)很多代碼,直接繼承已經(jīng)寫好的代碼,增加一個(gè)Xml配置就可以直接導(dǎo)出。具體實(shí)現(xiàn)代碼大家跟隨小編一起通過本文學(xué)習(xí)吧
    2018-11-11
  • Java編程之內(nèi)置觀察者模式實(shí)例詳解

    Java編程之內(nèi)置觀察者模式實(shí)例詳解

    這篇文章主要介紹了Java編程之內(nèi)置觀察者模式,結(jié)合實(shí)例形式較為詳細(xì)的分析了java內(nèi)置觀察者模式的原理、實(shí)現(xiàn)方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-08-08
  • java9版本特性資源自動(dòng)關(guān)閉的語法增強(qiáng)

    java9版本特性資源自動(dòng)關(guān)閉的語法增強(qiáng)

    這篇文章主要為大家介紹了java9版本特性資源自動(dòng)關(guān)閉的語法增強(qiáng)的詳細(xì)使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • idea復(fù)制module(項(xiàng)目)并在一個(gè)窗口展示的教程詳解

    idea復(fù)制module(項(xiàng)目)并在一個(gè)窗口展示的教程詳解

    這篇文章主要介紹了idea復(fù)制module(項(xiàng)目)并在一個(gè)窗口展示的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • java中VO的使用解析

    java中VO的使用解析

    這篇文章主要介紹了java中VO的使用解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Logback在SpringBoot中的詳細(xì)配置教程

    Logback在SpringBoot中的詳細(xì)配置教程

    Spring Boot 默認(rèn)會(huì)加載 classpath 下的 logback-spring.xml(推薦)或 logback.xml 作為 Logback 的配置文件,下面我們來看看具體的配置教程吧
    2025-05-05
  • java生成mvt切片的方法實(shí)現(xiàn)

    java生成mvt切片的方法實(shí)現(xiàn)

    本文主要介紹了java生成mvt切片的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論

南和县| 东莞市| 英山县| 清远市| 梁平县| 中牟县| 遵化市| 卓资县| 铜山县| 出国| 永吉县| 扎兰屯市| 双柏县| 南乐县| 鲜城| 沅江市| 蓝山县| 含山县| 喀喇沁旗| 凤冈县| 桃源县| 崇仁县| 黄平县| 鹰潭市| 綦江县| 黄骅市| 惠州市| 襄垣县| 日照市| 郸城县| 东乡县| 蒙阴县| 荥阳市| 麻阳| 漯河市| 奈曼旗| 河源市| 邛崃市| 白银市| 安阳县| 岑巩县|