3.5 Java枚舉使用

在Java中枚舉和其他類一樣,只是多了預(yù)定義的對(duì)象集合。下面幾個(gè)例子強(qiáng)調(diào)如何使用Java的枚舉。

1.簡(jiǎn)單例子

public enum Color {
    RED, YELLOW, BLUE; //each is an instance of Color 
}

public class Test {
    public static void main(String[] args) {
        for(Color color: Color.values()){
            System.out.println(color);
        }
    }
}

輸出:

RED
YELLOW
BLUE

2.有構(gòu)造函數(shù)

public enum Color {
    RED(1), YELLOW(2), BLUE(3); //each is an instance of Color 
 
    private int value;
 
    private Color(){}
 
    private Color(int i){
        this.value = i;
    }
 
    //define instance method
    public void printValue(){
        System.out.println(this.value);
    }
}

public class Test {
    public static void main(String[] args) {
        for(Color color: Color.values()){
            color.printValue();
        }
    }
}

輸出:

1
2
3

3.什么時(shí)候用Java枚舉

枚舉類型是特殊的數(shù)據(jù)類型,它讓一個(gè)變量稱為預(yù)定義常量。這個(gè)變量必須等于這些預(yù)定義值的一個(gè)。
一個(gè)好的應(yīng)用實(shí)例是可以防止非法參數(shù)的可能性。舉個(gè)例子,想下下面的方法:
public void doSomethingWithColor(int color);
此方法不明確,開(kāi)發(fā)人員不知道用什么值。
如果你有枚舉型的類Color ,有BLACK、RED等,方法變成:
public void doSomethingWithColor(Color color);
顯然調(diào)用這個(gè)方法,更可讀。

相關(guān)

Java doc

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,871評(píng)論 18 399
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 5,240評(píng)論 1 114
  • 我渴了,你只有兩個(gè)蘋(píng)果,給了我最紅的那個(gè),我知道你愛(ài)我。我渴了,你說(shuō)如果和我在一起,我送你一車蘋(píng)果。但是,你連一個(gè)...
    歪叔留小白閱讀 517評(píng)論 9 2

友情鏈接更多精彩內(nèi)容