你之因此能優於別人,正是由於你堅持了別人所不能堅持的。
本文相關代碼在個人Github,歡迎Star~
https://github.com/zhangzhibo1014/DaBoJava
枚舉(enum)類型是 Java 5
新增的特性,它是一種新的類型,容許用常量來表示特定的數據片段,並且所有都以類型安全的形式來表示。java
enum
和 class
、 interface
具備相同地位java.lang.Enum
類,因此不能繼承其餘類,其中 java.lang.Enum
類實現了 java.lang.Serializable
和 java.lang.Comparable
接口enum
定義,默認使用 final
修飾,所以不能派生子類private
修飾,且只能使用 private
修飾public static final
修飾,無需顯式添加/** * 枚舉類 */ public class Demo { public static void main(String[] args) { //聲明一個枚舉類實例,並賦值 Season season = Season.SPRING; switch(season) { case SPRING: System.out.println("Spring"); break; case SUMMER: System.out.println("Summer"); break; case FALL: System.out.println("Fall"); break; case WINTER: System.out.println("Winter"); break; default: break; } } } /** * 定義一個枚舉類 */ enum Season{ SPRING, SUMMER, FALL, WINTER }
public enum Health{ GOOD(0, "良好"), SICK(1, "生病"), FINE(2, "健康"); private int code; private String name; private Health(int code, String name) { this.code = code; this.name = name; } public int getCode() { return code; } public String getName() { return name; } }
int compareTo(Enum e):用於比較兩個枚舉類型的順序,若是該枚舉類型位於枚舉類型e以後,則返回正數,反之返回負數,相同返回零 values():返回一個枚舉類型的數組,能夠用來遍歷枚舉類 String name():返回枚舉實例的枚舉值。 int ordinal():返回枚舉實例的聲明順序,從0開始 T valueOf(Class<T> enumType, String name):返回帶指定名稱的指定枚舉類型的枚舉常量。 boolean equals():用來比較兩個枚舉對象的枚舉值。相同返回true,反之返回false 也可使用 == 來比較 public class Demo2 { public static void main(String[] args) { Health health = Health.GOOD; Health health1 = Health.FINE; Health health2 = Health.SICK; Health health3 = Health.GOOD; //compareTo() System.out.println(health.compareTo(health1)); System.out.println(health1.compareTo(health2)); //values() Health[] healths = Health.values(); for(Health h : healths) { System.out.print(h + " "); } System.out.println(); //name() System.out.println(health.name()); //ordinal() System.out.println(health2.ordinal()); //valueOf() Health health4 = Health.valueOf(Health.class, health2.name()); System.out.println(health4); //equals() System.out.println(health.equals(health3)); System.out.println(health == health3); } } /** * 枚舉類 */ enum Health{ GOOD(0, "良好"), SICK(1, "生病"), FINE(2, "健康"); private int code; private String name; private Health(int code, String name) { this.code = code; this.name = name; } public int getCode() { return code; } public String getName() { return name; } }
實際上在使用關鍵字 enum
建立枚舉類型並編譯後,編譯器會爲咱們生成一個相關的類,這個類繼承了 Java API
中的 java.lang.Enum
類,也就是說經過關鍵字 enum
建立枚舉類型在編譯後事實上也是一個類類型並且該類繼承自 java.lang.Enum
類git
枚舉類能夠代替常量來使用,好比:狀態碼,星期等,結合實際場景使用。github
相關代碼記錄於GitHub中,歡迎各位夥伴 Star !數組
有任何疑問 微信搜一搜 [程序猿大博] 與我聯繫~安全
若是以爲對您有所幫助,請 點贊 ,收藏 ,若有不足,請評論或私信指正!謝謝~微信