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

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

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

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

一、常量:

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

定義一個顏色的枚舉類:

enum Color { 
    RED, GREEN, BLUE; 
} 

測試代碼:

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



// 運行結(jié)果
RED

 二、switch:

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

示例:

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("藍色");
        break;
    }
  }
}

運行結(jié)果:

藍色

三、常用方法:

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

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

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

  • values() 返回枚舉類中所有的值。
  • ordinal()方法可以找到每個枚舉常量的索引,就像數(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() 返回枚舉常量,不存在的會報錯 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)用。

枚舉既可以包含具體方法,也可以包含抽象方法。 如果枚舉類具有抽象方法,則枚舉類的每個實例都必須實現(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的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Java自定義Enum內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?Autowired注解深入分析

    Java?Autowired注解深入分析

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

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

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

    Java AQS中閉鎖CountDownLatch的使用

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

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

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

    SpringBoot如何讀取Resource下的文件

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

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

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

    Java自動取款機ATM案例實現(xiàn)

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

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

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

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

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

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

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

最新評論

江孜县| 新闻| 大邑县| 阜阳市| 威远县| 丽江市| 军事| 靖远县| 浑源县| 白银市| 安阳市| 上杭县| 武陟县| 盐城市| 新津县| 浙江省| 兴业县| 剑河县| 高雄县| 堆龙德庆县| 周口市| 宾阳县| 福海县| 准格尔旗| 滨州市| 若羌县| 安义县| 晋州市| 泊头市| 会宁县| 农安县| 大埔县| 呼和浩特市| 大悟县| 颍上县| 邵阳县| 平舆县| 麻栗坡县| 滦平县| 晴隆县| 宁津县|