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

Java enum實現自增賦值方式

 更新時間:2024年05月16日 09:46:12   作者:Ricardo于  
這篇文章主要介紹了Java enum實現自增賦值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Java enum實現自增賦值

Java枚舉類型如何實現類似C++的自增賦值?

在C++中可以這么寫:

enum MSG_TYPE {
    MSG_LOGIN = 500,
    MSG_LOGOUT,
    MSG_REGISTER,
    MSG_SEARCH,
    /* ... */
};

但是在Java中就必須寫一大坨,必須依次給每個枚舉常量賦值,例如下面代碼

public enum MSG_TYPE{
    MSG_LOGIN(500),
    MSG_LOGOUT(501),
    MSG_REGISTER(502),
    MSG_SEARCH(503),
    /* ... */
    MSG_ADD(600);
    
    private int egId;
    private MSG_TYPE(int val){
        this.egId = val
    }
    
    public getEgId(){
        return this.egId;
    }
}

大家有沒有什么好的替代辦法?

java中enum并沒那么智能,是從0開始自增的。

可以維護一個static變量實現任意自增:

import java.util.EnumSet;
 
public class EnumTest {
    public static void main(String[] args) {
        for (MSG_TYPE msg_type : EnumSet.allOf(MSG_TYPE.class))
        {
            System.out.println(msg_type.name() + " " +
                    msg_type.ordinal() + " " +
                    msg_type.getValue());
        }
    }
}
 
enum MSG_TYPE {
    MSG_LOGIN(500),
    MSG_LOGOUT,
    MSG_REGISTER,
    MSG_SEARCH,
    MSG_ADD(600);
 
    private int value;
    private static int nextValue;
    MSG_TYPE(){
        this(Counter.nextValue);
    }
    MSG_TYPE(int value){
        this.value = value;
        Counter.nextValue = value + 1;
    }
 
    public int getValue()
    {
        return value;
    }
 
    private static class Counter
    {
        private static int nextValue = 0;
    }
}

enum類型自動賦值規(guī)則

#include<stdio.h>

enum {a, b, c, d=9, e}day1,day2;

int main()
{
	int day;
	day1=b;
	day2=e;
	day=day1+day2;
    printf("%d\t",day);
    
    return 0;
}


總結

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

相關文章

  • 詳解Java對象結構與對象鎖的升級

    詳解Java對象結構與對象鎖的升級

    這篇文章主要為大家詳細介紹了Java對象結構與對象鎖的升級,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Security框架:如何使用CorsFilter解決前端跨域請求問題

    Security框架:如何使用CorsFilter解決前端跨域請求問題

    這篇文章主要介紹了Security框架:如何使用CorsFilter解決前端跨域請求問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java調用回調機制詳解

    java調用回調機制詳解

    這篇文章主要介紹了java調用回調機制詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 教你如何把Eclipse創(chuàng)建的Web項目(非Maven)導入Idea

    教你如何把Eclipse創(chuàng)建的Web項目(非Maven)導入Idea

    這篇文章主要介紹了教你如何把Eclipse創(chuàng)建的Web項目(非Maven)導入Idea,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • mybatis中的setting配置詳解

    mybatis中的setting配置詳解

    這篇文章主要給大家介紹了關于mybatis中setting配置的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • IntelliJ IDEA設置JVM運行參數的操作方法

    IntelliJ IDEA設置JVM運行參數的操作方法

    這篇文章主要介紹了IntelliJ IDEA設置JVM運行參數的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-03-03
  • SpringCloud超詳細講解微服務網關Gateway

    SpringCloud超詳細講解微服務網關Gateway

    這篇文章主要介紹了SpringCloud Gateway微服務網關,負載均衡,熔斷和限流,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • java原裝代碼完成pdf在線預覽和pdf打印及下載

    java原裝代碼完成pdf在線預覽和pdf打印及下載

    本文主要介紹了java原裝代碼完成pdf在線預覽和pdf打印及下載的方法,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Mybatis 中Mapper使用package方式配置報錯的解決方案

    Mybatis 中Mapper使用package方式配置報錯的解決方案

    這篇文章主要介紹了Mybatis 中Mapper使用package方式配置報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java掃描文件夾下所有文件名

    Java掃描文件夾下所有文件名

    這篇文章主要為大家詳細介紹了Java掃描文件夾下所有文件名,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論