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

Java自定義Enum的實(shí)現(xiàn)示例

 更新時(shí)間:2023年12月18日 14:54:47   作者:93度的餅干  
Java中的自定義Enum類型是一種特殊的類,用于表示固定數(shù)量的常量值,本文主要介紹了Java自定義Enum的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下

Java 枚舉是一個(gè)特殊的類,一般表示一組常量,比如一年的 4 個(gè)季節(jié),一年的 12 個(gè)月份,一個(gè)星期的 7 天,方向有東南西北等。

一、常量:

Java 枚舉類使用enum關(guān)鍵字來定義,各個(gè)常量使用逗號(hào)“,”來分割。

定義一個(gè)顏色的枚舉類:

enum Color { 
    RED, GREEN, BLUE; 
} 

測(cè)試代碼:

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



// 運(yùn)行結(jié)果
RED

 二、switch:

switch 語句中的變量類型可以是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支持字符串 String 類型了,同時(shí) case 標(biāo)簽必須為字符串常量或字面量。

示例:

enum ColorEnum { 
    RED, GREEN, BLUE; 
} 

public class MyClass {

  public static void main(String[] args) {
    ColorEnum color= ColorEnum.BLUE;

    switch(color) {
      case RED:
        System.out.println("紅色");
        break;

      case GREEN:
         System.out.println("綠色");
        break;

      case BLUE:
        System.out.println("藍(lán)色");
        break;
    }
  }
}

運(yùn)行結(jié)果:

藍(lán)色

三、常用方法:

values(), ordinal() 和 valueOf() 方法

enum 定義的枚舉類默認(rèn)繼承了 java.lang.Enum 類,并實(shí)現(xiàn)了 java.lang.Serializable 和 java.lang.Comparable 兩個(gè)接口。

values(), ordinal() 和 valueOf() 方法位于 java.lang.Enum 類中:

  • values() 返回枚舉類中所有的值。
  • ordinal()方法可以找到每個(gè)枚舉常量的索引,就像數(shù)組索引一樣。
  • valueOf()方法返回指定字符串值的枚舉常量。
enum Color 
{ 
    RED, GREEN, BLUE; 
} 
  
public class Test 
{ 
    public static void main(String[] args) 
    { 
        // 調(diào)用 values() 
        Color[] colors = Color.values(); 
  
        // 迭代枚舉
        for (Color color : colors) 
        { 
            // 查看索引
            System.out.println(color + " at index " + color.ordinal()); 
        } 
  
        // 使用 valueOf() 返回枚舉常量,不存在的會(huì)報(bào)錯(cuò) IllegalArgumentException 
        System.out.println(Color.valueOf("RED")); 
        // System.out.println(Color.valueOf("WHITE")); 
    } 
}

執(zhí)行以上代碼輸出結(jié)果為:

RED at index 0
GREEN at index 1
BLUE at index 2
RED

四、枚舉類成員

枚舉跟普通類一樣可以用自己的變量、方法和構(gòu)造函數(shù),構(gòu)造函數(shù)只能使用 private 訪問修飾符,所以外部無法調(diào)用。

枚舉既可以包含具體方法,也可以包含抽象方法。 如果枚舉類具有抽象方法,則枚舉類的每個(gè)實(shí)例都必須實(shí)現(xiàn)它。

enum Color 
{ 
    RED, GREEN, BLUE; 
  
    // 構(gòu)造函數(shù)
    private Color() 
    { 
        System.out.println("Constructor called for : " + this.toString()); 
    } 
  
    public void colorInfo() 
    { 
        System.out.println("Universal Color"); 
    } 
} 
  
public class Test 
{     
    // 輸出
    public static void main(String[] args) 
    { 
        Color c1 = Color.RED; 
        System.out.println(c1); 
        c1.colorInfo(); 
    } 
}

執(zhí)行以上代碼輸出結(jié)果為:

Constructor called for : RED
Constructor called for : GREEN
Constructor called for : BLUE
RED
Universal Color

到此這篇關(guān)于Java自定義Enum的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Java自定義Enum內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?Autowired注解深入分析

    Java?Autowired注解深入分析

    @Autowired注解是Spring中非常重要且常見的,接下來就簡要的介紹一下它的用法。@Autowired默認(rèn)是通過set方法,按照類型自動(dòng)裝配JavaBean,set方法可省略不寫,它主要是修飾在成員變量上
    2023-01-01
  • 解決java.lang.ClassCastException的java類型轉(zhuǎn)換異常的問題

    解決java.lang.ClassCastException的java類型轉(zhuǎn)換異常的問題

    這篇文章主要介紹了解決java.lang.ClassCastException的java類型轉(zhuǎn)換異常的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java AQS中閉鎖CountDownLatch的使用

    Java AQS中閉鎖CountDownLatch的使用

    CountDownLatch 是一個(gè)同步工具類,用來協(xié)調(diào)多個(gè)線程之間的同步,它能夠使一個(gè)線程在等待另外一些線程完成各自工作之后,再繼續(xù)執(zhí)行。被將利用CountDownLatch實(shí)現(xiàn)網(wǎng)絡(luò)同步請(qǐng)求,異步同時(shí)獲取商品信息組裝,感興趣的可以了解一下
    2023-02-02
  • 基于Jav POI實(shí)現(xiàn)Excel多級(jí)表頭導(dǎo)出的完整方案

    基于Jav POI實(shí)現(xiàn)Excel多級(jí)表頭導(dǎo)出的完整方案

    在日常的 Java 開發(fā)中,Excel 導(dǎo)出是高頻需求,而多級(jí)表頭 + 單元格合并的場(chǎng)景更是常見,,本文基于 Apache POI 框架,結(jié)合實(shí)際政務(wù)項(xiàng)目案例,詳解如何通過自定義注解 + 工具類的方式,需要的朋友可以參考下
    2026-02-02
  • SpringBoot如何讀取Resource下的文件

    SpringBoot如何讀取Resource下的文件

    這篇文章主要介紹了SpringBoot如何讀取Resource下的文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 利用springmvc處理模型數(shù)據(jù)

    利用springmvc處理模型數(shù)據(jù)

    這篇文章主要介紹了如何利用springmvc 處理模型數(shù)據(jù),幫助大家更好的理解和學(xué)習(xí)使用springmvc,感興趣的朋友可以了解下
    2021-03-03
  • Java自動(dòng)取款機(jī)ATM案例實(shí)現(xiàn)

    Java自動(dòng)取款機(jī)ATM案例實(shí)現(xiàn)

    本文主要介紹了Java自動(dòng)取款機(jī)ATM案例實(shí)現(xiàn),整個(gè)過程可以分為三部分:登錄賬戶和執(zhí)行取款操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java 高并發(fā)四:無鎖詳細(xì)介紹

    Java 高并發(fā)四:無鎖詳細(xì)介紹

    本文主要介紹Java 高并發(fā)無鎖的知識(shí),這里整理了 1.無鎖類的原理詳解 2.無鎖類的使用的知識(shí),并講解其原理,有需要的小伙伴可以參考下
    2016-09-09
  • Spring Boot外部化配置實(shí)戰(zhàn)解析

    Spring Boot外部化配置實(shí)戰(zhàn)解析

    這篇文章主要介紹了Spring Boot外部化配置實(shí)戰(zhàn)解析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • 詳解Java串行化接口的用法和原理

    詳解Java串行化接口的用法和原理

    在Java開發(fā)中,我們經(jīng)常需要將對(duì)象進(jìn)行序列化和反序列化,以便在網(wǎng)絡(luò)傳輸或存儲(chǔ)到持久化介質(zhì)中,Java提供了一種機(jī)制,即通過實(shí)現(xiàn)Serializable接口來實(shí)現(xiàn)對(duì)象的串行化,本文將詳細(xì)介紹Java串行化接口的用法和原理,以及一些相關(guān)的注意事項(xiàng),需要的朋友可以參考下
    2023-11-11

最新評(píng)論

大方县| 景德镇市| 易门县| 都江堰市| 宝山区| 许昌市| 临湘市| 绥中县| 枣阳市| 山丹县| 鹤岗市| 天津市| 罗定市| 通江县| 和硕县| 南和县| 兴隆县| 酒泉市| 疏勒县| 尼勒克县| 天气| 涟源市| 子洲县| 玛多县| 岚皋县| 宜阳县| 兴化市| 剑河县| 万州区| 长宁区| 若尔盖县| 木兰县| 白城市| 孝义市| 崇信县| 杭州市| 南溪县| 蓝山县| 屏东县| 宁武县| 志丹县|