您好,登錄后才能下訂單哦!
java中的枚舉是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
枚舉是Java1.5引入的新特性,通過關鍵字enum來定義枚舉類。枚舉類是一種特殊類,它和普通類一樣可以使用構造器、定義成員變量和方法,也能實現一個或多個接口,但枚舉類不能繼承其他類。
創建枚舉類型要使用enum關鍵字,隱含了所創建的類型都是java.lang.Enum類的子類(java.lang.Enum是一個抽象類)。
枚舉類型符合通用模式Class Enum<E extends Enum<E>>,而E表示枚舉類型的名稱。
枚舉類型的每一個值都映射到protected Enum(String name,int ordinal)構造函數中,在這里,每個值的名稱都轉換成一個字符串,并且序數設置表示了此設置被創建的順序。
枚舉的使用:
創建一個枚舉類:EnumTest
public enum EnumTest { //星期一,星期二,星期三,星期四,星期五,星期六 MON(1), TUE(2),WED(3),THU(4),FRI(5),SAT(6){ public boolean isRest(){ return true; } }, //星期日 SUN(0){ public boolean isRest(){ return true; } }; private int value; private EnumTest(int value){ this.value=value; } public int getValue(){ return value; } public boolean isRest(){ return false; } }
使用EnumTest枚舉類:
public class EnumMain { public static void main(String[] args) { for (EnumTest enumTest : EnumTest.values()) { System.out.println(enumTest + ":" + enumTest.getValue()); } System.out.println("---------------我是分割線------------"); EnumTest test = EnumTest.SAT; switch (test) { case MON: System.out.println("今天是星期一"); break; case TUE: System.out.println("今天是星期二"); break; case WED: System.out.println("今天是星期三"); break; case THU: System.out.println("今天是星期四"); break; case FRI: System.out.println("今天是星期五"); break; case SAT: System.out.println("今天是星期六"); break; case SUN: System.out.println("今天是星期日"); break; default: System.out.println(test); break; } } }
每一個枚舉類型極其定義的枚舉變量在JVM中都是唯一的,這句話的意思是枚舉類型它擁有的實例在編寫的時候,就已經確定下,不能通過其他手段進行創建,且枚舉變量在jvm有且只有一個對應的實例。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。