Java enum枚舉的使用方法
阿新 • • 發佈:2017-05-07
fin .com 構造器 枚舉類型 方法 ont 全部 this lan
3. 枚舉類中的夠早期和普通類的構造器有些不同:
一. 出現背景:
在JDK1.5之前,我們定義常量是這種:public static final String RED = “RED”;
在JDK1.5中增加了枚舉類型,我們能夠把相關的常量分組到一個枚舉類中:
public enum Color { RED, GREEN, BLUE; }
使用的時候能夠這樣:Color c = Color.RED
二. 枚舉特點:
1. 枚舉enum是一個特殊的Java類。它繼承自java.lang.Enum,繼承了非常多Enum的方法。但枚舉類是一個不能夠被繼承的final類
2. 枚舉類能夠定義在interface或class中。當然枚舉類型中有構造函數、方法、數據域:
public interface MyConstants { enum Color { RED("RED", 1), GREEN("GREEN", 2), BLUE("BLUE", 3); String desc; Integer value; private Color(String desc, Integer value) { this.desc = desc; this.value = value; } } enum Light { RED, GREEN, YELLOW; } }
使用:MyConstants.Color.RED
(a). 構造器僅僅是在構造枚舉值的時候被調用
(b). 構造器僅僅能私有,這樣能夠保證外部代碼無法新構建枚舉類的實例
4. 全部枚舉類繼承了Enum的方法,以下是這些方法使用介紹:
(a). ordinal() 返回枚舉值在枚舉種類的順序,這個順序依據枚舉值聲明的順序
(b). compareTo() Enum實現了java.lang.Comparable接口。它返回的是兩個枚舉值的順序之差,但這兩個枚舉值必須屬於同一個枚舉類
(c). values 返回一個包括所有枚舉值的數組
(d). toString 返回枚舉常量的名稱
(e). valueOf 類似toString
(f). equals 比較兩個枚舉類對象的應用
5. 在switch中使用:
public enum Light{ RED, GREEN, YELLOW; } class Test { public static void main(String[] args) { Light light = Light.RED; switch (light) { case RED: System.out.println("it‘s red"); break; case GREEN: System.out.println("it‘s green"); break; case YELLOW: System.out.println("it‘s yellow"); break; } } }
Java enum枚舉的使用方法