欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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關鍵字來定義,各個常量使用逗號“,”來分割。

定義一個顏色的枚舉類:

enum Color { 
    RED, GREEN, BLUE; 
} 

測試代碼:

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



// 運行結果
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;
    }
  }
}

運行結果:

藍色

三、常用方法:

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) 
    { 
        // 調用 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í)行以上代碼輸出結果為:

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

四、枚舉類成員

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

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

enum Color 
{ 
    RED, GREEN, BLUE; 
  
    // 構造函數(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í)行以上代碼輸出結果為:

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

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

相關文章

  • Java string不可變原理實例解析

    Java string不可變原理實例解析

    這篇文章主要介紹了Java string不可變原理實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 基于SpringBoot接口+Redis解決用戶重復提交問題

    基于SpringBoot接口+Redis解決用戶重復提交問題

    當網絡延遲的情況下用戶多次點擊submit按鈕導致表單重復提交,用戶提交表單后,點擊瀏覽器的【后退】按鈕回退到表單頁面后進行再次提交也會出現(xiàn)用戶重復提交,辦法有很多,我這里只說一種,利用Redis的set方法搞定,需要的朋友可以參考下
    2023-10-10
  • Java中的InputStreamReader和OutputStreamWriter源碼分析_動力節(jié)點Java學院整理

    Java中的InputStreamReader和OutputStreamWriter源碼分析_動力節(jié)點Java學院整理

    本文通過示例代碼給大家解析了Java中的InputStreamReader和OutputStreamWriter知識,需要的的朋友參考下吧
    2017-05-05
  • Spring?Validation中的用戶注冊、JWT令牌之用戶登入功能

    Spring?Validation中的用戶注冊、JWT令牌之用戶登入功能

    本文介紹了使用SpringValidation進行用戶注冊驗證和JWT進行用戶登錄的方法,在用戶注冊時,通過@Validated注解和@Pattern注解對用戶名和密碼進行格式校驗,并使用Result對象返回驗證結果,感興趣的朋友一起看看吧
    2024-11-11
  • 詳解Java中的實例初始化塊(IIB)

    詳解Java中的實例初始化塊(IIB)

    在本篇文章里我們針對Java中的實例初始化塊(IIB)做想詳細分析,有需要的朋友們可以跟著學習參考下。
    2018-10-10
  • maven中的scope與systemPath用法

    maven中的scope與systemPath用法

    這篇文章主要介紹了maven中的scope與systemPath用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Springboot內外部logback多環(huán)境配置詳解

    Springboot內外部logback多環(huán)境配置詳解

    本文主要介紹了Springboot內外部logback多環(huán)境配置詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • java代碼如何讀取bootstrap.yml配置信息

    java代碼如何讀取bootstrap.yml配置信息

    這篇文章主要介紹了java代碼如何讀取bootstrap.yml配置信息問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • JDK環(huán)境變量配置教程分享

    JDK環(huán)境變量配置教程分享

    這篇文章主要為大家分享了JDK環(huán)境變量配置教程,JDK環(huán)境變量的配置,是java開發(fā)中必備的配置
    2016-05-05
  • Java中comparator接口和Comparable接口的比較解析

    Java中comparator接口和Comparable接口的比較解析

    這篇文章主要介紹了Java中comparator接口和Comparable接口的比較解析,Java提供了一個用于比較的接口Comparator和Comparable接口,提供了一個比較的方法,所有實現(xiàn)該接口的類,都動態(tài)的實現(xiàn)了該比較方法,需要的朋友可以參考下
    2023-08-08

最新評論