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

java 枚舉類中的valueOf用法說明

 更新時間:2021年09月13日 10:16:25   作者:lamdaxu  
這篇文章主要介紹了java 枚舉類中的valueOf用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

枚舉類中的valueOf用法

前言:今天遇到了一個枚舉類的valueOf用法,遇到了一點問題,這里特例寫一個demo來測試一下

先創(chuàng)建一個BasicEnum的接口

/**
 * @Author 徐志
 * @date 2020/9/4 12:42
 **/
public interface BasicEnum<L,V> {
    /**
     * get name
     *
     * @return
     */
    L getName();
    /**
     * get value
     *
     * @return
     */
    V getValue();
}

創(chuàng)建一個枚舉類實現(xiàn)BasicEnum接口

添加name和value屬性

/**
 * @Author 徐志
 * @date 2020/9/4 12:38
 **/
public enum Color implements BasicEnum<String,Integer>{
    RED("a",0),
    GREEN("b",1),
    BLUE("c",2);
    private final String name;
    private final Integer value;
    Color(String name, Integer value) {
        this.name = name;
        this.value = value;
    }
    public String getName() {
        return this.name;
    }
    public Integer getValue() {
        return this.value;
    }
}

方式一:調(diào)用valueOf

/**
 * @Author 徐志
 * @date 2020/9/4 12:46
 **/
public class TestEnum {
   @Test
   public void test(){
       System.out.println(Color.valueOf("RED").getValue());
   }
}

在這里插入圖片描述

方式二:調(diào)用valueOf

/**
 * @Author 徐志
 * @date 2020/9/4 12:46
 **/
public class TestEnum {
   @Test
   public void test(){
       System.out.println(Color.valueOf("a").getValue());
   }
}

在這里插入圖片描述

比較上面兩種調(diào)用valueOf的方法。發(fā)現(xiàn)通過name屬性調(diào)用會報錯。

顯示參數(shù)異常,查看枚舉類的源碼,找到valueOf方法

在這里插入圖片描述

發(fā)現(xiàn)確實是根據(jù)枚舉類的內(nèi)容來調(diào)用valueOf方法,如果想使用name屬性來實現(xiàn)valueOf的調(diào)用,我們需要重寫這個valueOf方法

枚舉類valueOf方法的疑問

枚舉類中valueOf方法只有一個參數(shù)

而Enum類中有兩個參數(shù),請問Enum實例類中的valueOf方法是從何處繼承而來?

答案:jvm進(jìn)行編譯的時候添加的

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot詳細(xì)講解視圖整合引擎thymeleaf

    SpringBoot詳細(xì)講解視圖整合引擎thymeleaf

    這篇文章主要分享了Spring Boot整合使用Thymeleaf,Thymeleaf是新一代的Java模板引擎,類似于Velocity、FreeMarker等傳統(tǒng)引擎,關(guān)于其更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-06-06
  • Springboot中如何通過yml為實體類注入屬性

    Springboot中如何通過yml為實體類注入屬性

    這篇文章主要介紹了Springboot中如何通過yml為實體類注入屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Spring AOP結(jié)合注解實現(xiàn)接口層操作日志記錄

    Spring AOP結(jié)合注解實現(xiàn)接口層操作日志記錄

    在項目開發(fā)中我們需要記錄接口的操作日志:包含請求參數(shù)、響應(yīng)參數(shù)、接口所屬模塊、接口功能描述、請求地址、ip地址等信息;實現(xiàn)思路很簡單就是基于注解和aop的方式去記錄日志,主要的難點在于日志表結(jié)構(gòu)、注解的設(shè)計已經(jīng)aop實現(xiàn)的一些比較好的實現(xiàn)方式的借鑒
    2022-08-08
  • MyBatis Excutor 攔截器的巧妙用法

    MyBatis Excutor 攔截器的巧妙用法

    這里要講的巧妙用法是用來實現(xiàn)在攔截器中執(zhí)行額外 MyBatis 現(xiàn)有方法的用法,并提供了解決攔截Executor時想要修改MappedStatement時解決并發(fā)的問題。感興趣的朋友一起看看吧
    2017-10-10
  • JAVA不使用線程池來處理的異步的方法詳解

    JAVA不使用線程池來處理的異步的方法詳解

    這篇文章主要介紹了JAVA不使用線程池來處理的異步的方法,在這個示例中,asyncTask方法創(chuàng)建了一個新的線程來執(zhí)行異步任務(wù),這個新線程會立即開始執(zhí)行,而主線程則會繼續(xù)執(zhí)行后續(xù)的代碼,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Maven項目中resources配置總結(jié)

    Maven項目中resources配置總結(jié)

    這篇文章主要介紹了Maven項目中resources配置總結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java Number類原理實例解析

    Java Number類原理實例解析

    這篇文章主要介紹了Java Number類原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • 【java 多線程】守護(hù)線程與非守護(hù)線程的詳解

    【java 多線程】守護(hù)線程與非守護(hù)線程的詳解

    這篇文章主要介紹了java守護(hù)線程與非守護(hù)線程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 工作中Java集合的規(guī)范使用操作詳解

    工作中Java集合的規(guī)范使用操作詳解

    這篇文章主要為大家詳細(xì)介紹了工作中Java集合使用時需要注意的規(guī)范,文中的示例代碼講解詳細(xì),對我們使用Java集合有一定的幫助,感興趣的可以了解一下
    2022-11-11
  • 深入理解Mybatis一級緩存

    深入理解Mybatis一級緩存

    客戶端向數(shù)據(jù)庫服務(wù)器發(fā)送同樣的sql查詢語句,如果每次都去訪問數(shù)據(jù)庫,會導(dǎo)致性能的降低,那么怎么提高呢?下面小編給大家分享下mybatis為我們提供了一級緩存的策略
    2016-12-12

最新評論