Java中枚舉類的用法示例詳解
1.引入枚舉類
Java 枚舉是一個特殊的類,一般表示一組常量,比如一年的 4 個季節(jié),一個年的 12 個月份,一個星期的 7 天,方向有東南西北等。
Java 枚舉類使用 enum 關(guān)鍵字來定義,各個常量使用逗號 , 來分割。
示例:
enum Color { RED, GREEN, BLUE; }
2.實現(xiàn)枚舉類
接下來我們來看一個一個簡單的DEMO示例:
/** * java枚舉 */ public class Enum { public static void main(String[] args) { System.out.println(Season.SPRING); System.out.println(Season.SUMMER); System.out.println(Season.AUTUMN); System.out.println(Season.WINTER); } } // 定義的枚舉類 enum Season { // 枚舉定義的常量對象必須在最前面 SPRING("春天","萬物復蘇"), SUMMER("夏天","烈日炎炎"), AUTUMN("秋天","碩果累累"), WINTER("冬天","寒冷刺骨"); private String name; private String desc; private Season(String name, String desc) { this.name = name; this.desc = desc; } public String getName() { return name; } public String getDesc() { return desc; } @Override public String toString() { return "Season{" + "name='" + name + '\'' + ", desc='" + desc + '\'' + '}'; } }
輸出:
Season{name='春天', desc='萬物復蘇'}
Season{name='夏天', desc='烈日炎炎'}
Season{name='秋天', desc='碩果累累'}
Season{name='冬天', desc='寒冷刺骨'}
3.枚舉類的使用注意事項
當我們使用enum關(guān)鍵字來開發(fā)一個枚舉類的時候,默認會繼承Eunm類,而且是一個final修飾的類
如果我們使用的是無參構(gòu)造器,則枚舉中可以直接省略小括號
// 枚舉定義的常量對象必須在最前面 SPRING("春天", "萬物復蘇"), SUMMER("夏天", "烈日炎炎"), AUTUMN("秋天", "碩果累累"), WINTER("冬天", "寒冷刺骨"), Other, Shit; Season() { } private Season(String name, String desc) { this.name = name; this.desc = desc; }
4.枚舉的常用方法
我們用具體的程序示例來進行枚舉常用方法的演示:
/** * 枚舉類方法 */ public class EnumMethod { public static void main(String[] args) { Season autumn = Season.AUTUMN; // 獲取當前枚舉對象的名稱 System.out.println(autumn.name()); // 輸出該枚舉對象的次序,從0開始 System.out.println(autumn.ordinal()); // 返回所有的枚舉對象 Season[] values = Season.values(); for (Season value : values) { System.out.println(value); } // 將字符串轉(zhuǎn)化為枚舉對象,要求字符串必須為已有的常量名,否則會爆出一個異常 Season autumn1 = Season.valueOf("AUTUMN"); System.out.println(autumn1); // 比較兩個枚舉常量,比較的就是編號 // AUTUMN的編號減去SUMMER的編號 System.out.println(Season.AUTUMN.compareTo(Season.SUMMER)); } }
輸出:
AUTUMN
2
Season{name='春天', desc='萬物復蘇'}
Season{name='夏天', desc='烈日炎炎'}
Season{name='秋天', desc='碩果累累'}
Season{name='冬天', desc='寒冷刺骨'}
Season{name='null', desc='null'}
Season{name='null', desc='null'}
Season{name='秋天', desc='碩果累累'}
1
5.enum細節(jié)
如果使用了enum,則該類不能再繼承其他的類,因為它默認繼承Enum父類,但是可以進行接口實現(xiàn)
到此這篇關(guān)于Java中枚舉類的用法示例詳解的文章就介紹到這了,更多相關(guān)Java枚舉類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項目部署在weblogic中間件的注意事項說明
這篇文章主要介紹了SpringBoot項目部署在weblogic中間件的注意事項說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Java?DelayQueue實現(xiàn)延時任務(wù)的示例詳解
DelayQueue是一個無界的BlockingQueue的實現(xiàn)類,用于放置實現(xiàn)了Delayed接口的對象,其中的對象只能在其到期時才能從隊列中取走。本文就來利用DelayQueue實現(xiàn)延時任務(wù),感興趣的可以了解一下2022-08-08推薦兩款java開發(fā)實用工具 hutool 和 lombok
通過本文給大家推薦兩款java開發(fā)實用工具 hutool 和 lombok,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-04-04netty-grpc一次DirectByteBuffer內(nèi)存泄露問題
這篇文章主要介紹了netty-grpc一次DirectByteBuffer內(nèi)存泄露問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12