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

java 枚舉enum的用法(與在switch中的用法)

 更新時間:2020年10月09日 15:52:24   作者:Gogym  
這篇文章主要介紹了java 枚舉enum的用法(與在switch中的用法),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

實際開發(fā)中,很多人可能很少用枚舉類型。更多的可能使用常量的方式代替。但枚舉比起常量來說,含義更清晰,更容易理解,結(jié)構(gòu)上也更加緊密??雌渌说牟┪亩己茉敿?,長篇大論的,這里理論的東西不說了,一起看看在實際開發(fā)中比較常見的用法,簡單明了。

看看枚舉類

/**
 * 操作碼類
 * @author kokJuis
 * @version 1.0
 * @date 2017-3-6
 */
public enum Code {
 
 SUCCESS(10000, "操作成功"), 
 FAIL(10001, "操作失敗"), 
 
 
 private int code;
 private String msg;
 
 //為了更好的返回代號和說明,必須呀重寫構(gòu)造方法
 private Code(int code, String msg) {
 this.code = code;
 this.msg = msg;
 }
 
 public int getCode() {
 return code;
 }
 
 public void setCode(int code) {
 this.code = code;
 }
 
 public String getMsg() {
 return msg;
 }
 
 public void setMsg(String msg) {
 this.msg = msg;
 } 
 
 // 根據(jù)value返回枚舉類型,主要在switch中使用
  public static Code getByValue(int value) {
    for (Code code : values()) {
      if (code.getCode() == value) {
        return code;
      }
    }
    return null;
  } 
}

使用:

//獲取代碼
int code=Code.SUCCESS.getCode();
//獲取代碼對應(yīng)的信息
String msg=Code.SUCCESS.getMsg();
 
//在switch中使用通常需要先獲取枚舉類型才判斷,因為case中是常量或者int、byte、short、char,寫其他代碼編譯是不通過的
 
int code=Code.SUCCESS.getCode(); 
switch (Code.getByValue(code)) {
 
 case SUCCESS:
 //......
 break;
 
 case FAIL:
 //......
 break; 
}

補充知識:Java Switch支持的數(shù)據(jù)類型及 枚舉在Switch case中的使用

最近在學習Groovy,發(fā)現(xiàn)Groovy中的Switch case 比Java中的Switch case強大,于是了解了Java中的Switch case支持的數(shù)據(jù)類型是有限的,包括int,char,String 和enum四種類型。

之前寫android代碼的時候,前面3中經(jīng)常用,但是第4種類型沒有使用過,于是嘗試使用枚舉類型來學些Switch case,代碼如下,做個記錄:

1、先定一個枚舉類型:

package com.lwd; 
public enum LwdColor {
 
  yello(0,"#0xff00ff00"),
  green(1,"#0xff0000ff"),
  blue(2,"#0xffffff00");
 
  private int value;
 
  public int getValue() {
    return value;
  }
 
  public void setValue(int value) {
    this.value = value;
  }
 
  public String getDesc() {
    return desc;
  }
 
  public void setDesc(String desc) {
    this.desc = desc;
  }
 
  private String desc;
 
  LwdColor(int value,String desc){
    this.value = value;
    this.desc = desc;
  }
 
  public static LwdColor getColorType(int type){
    for(LwdColor lwdColors:LwdColor.values()){
      if(lwdColors.getValue() == type){
        return lwdColors;
      }
    }
    return null;
  } 
}

枚舉類中定義了3種顏色,分別是yello、green、blue,構(gòu)造方法中定義的兩個變量,分別是value和desc,value和desc分別對應(yīng)枚舉顏色中的key和value。 提供了一個靜態(tài)方法,來根據(jù)傳入的類型來獲取對應(yīng)的枚舉值。

2、在Switch case中使用如下:

package com.lwd; 
public class TestJava { 
  public static void main(String[] args){ 
    LwdColor lwdColor = LwdColor.getColorType(0); 
    switch (lwdColor){
 
      case yello:
        System.out.println( lwdColor.getValue() + "的顏色值 == " + lwdColor.getDesc());
         break;
    }
 
   } 
}

以上這篇java 枚舉enum的用法(與在switch中的用法)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Java 繼承接口同名函數(shù)問題

    淺談Java 繼承接口同名函數(shù)問題

    這篇文章主要介紹了淺談Java 繼承接口同名函數(shù)問題。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • springboot配置mysql連接的實例代碼

    springboot配置mysql連接的實例代碼

    這篇文章主要介紹了springboot配置mysql連接的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Mybatis動態(tài)sql超詳細講解

    Mybatis動態(tài)sql超詳細講解

    動態(tài)SQL是MyBatis的強大特性之一,顧名思義就是會動的SQL,即是能夠靈活的根據(jù)某種條件拼接出完整的SQL語句,下面這篇文章主要給大家介紹了關(guān)于Mybatis動態(tài)sql的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Java8之函數(shù)式接口及常用函數(shù)式接口講解

    Java8之函數(shù)式接口及常用函數(shù)式接口講解

    這篇文章主要介紹了Java8之函數(shù)式接口及常用函數(shù)式接口,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • java實現(xiàn)單鏈表倒轉(zhuǎn)的方法

    java實現(xiàn)單鏈表倒轉(zhuǎn)的方法

    這篇文章主要為大家詳細介紹了java實現(xiàn)單鏈表倒轉(zhuǎn)的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 詳解領(lǐng)域驅(qū)動設(shè)計之事件驅(qū)動與CQRS

    詳解領(lǐng)域驅(qū)動設(shè)計之事件驅(qū)動與CQRS

    這篇文章分析了如何應(yīng)用事件來分離軟件核心復雜度。探究CQRS為什么廣泛應(yīng)用于DDD項目中,以及如何落地實現(xiàn)CQRS框架。當然我們也要警惕一些失敗的教訓,利弊分析以后再去抉擇正確的應(yīng)對之道
    2021-06-06
  • java中return語句的幾種用法舉例

    java中return語句的幾種用法舉例

    這篇文章主要介紹了Java中return語句的使用,包括有返回值類型的方法、提前返回、返回對象以及方法返回類型為void的情況,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-01-01
  • Spring+SpringMVC+Hibernate項目環(huán)境搭建的步驟(圖文)

    Spring+SpringMVC+Hibernate項目環(huán)境搭建的步驟(圖文)

    這篇文章主要介紹了Spring+SpringMVC+Hibernate項目環(huán)境搭建的步驟(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Spring中的refresh方法分析

    Spring中的refresh方法分析

    這篇文章主要介紹了Spring中的refresh方法分析,文章圍繞主題展開詳細的refresh方法相關(guān)資料介紹,需要的小伙伴可以參考一下
    2022-05-05
  • SpringBoot thymeleaf的使用方法解析

    SpringBoot thymeleaf的使用方法解析

    這篇文章主要介紹了SpringBoot thymeleaf的使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03

最新評論

景谷| 壤塘县| 靖江市| 高邑县| 迁安市| 平陆县| 桑植县| 高唐县| 克什克腾旗| 安新县| 亳州市| 永仁县| 三穗县| 青神县| 宁海县| 通州市| 天柱县| 黑山县| 巴南区| 黔西县| 英吉沙县| 绍兴市| 壤塘县| 汝城县| 武夷山市| 莆田市| 大丰市| 聊城市| 阜城县| 三都| 乌拉特中旗| 尉氏县| 临桂县| 邛崃市| 兴安盟| 汤原县| 普格县| 通榆县| 嘉义县| 庆城县| 绥滨县|