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("春天","萬物復(fù)蘇"),
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='萬物復(fù)蘇'}
Season{name='夏天', desc='烈日炎炎'}
Season{name='秋天', desc='碩果累累'}
Season{name='冬天', desc='寒冷刺骨'}
3.枚舉類的使用注意事項
當我們使用enum關(guān)鍵字來開發(fā)一個枚舉類的時候,默認會繼承Eunm類,而且是一個final修飾的類
如果我們使用的是無參構(gòu)造器,則枚舉中可以直接省略小括號
// 枚舉定義的常量對象必須在最前面
SPRING("春天", "萬物復(fù)蘇"),
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='萬物復(fù)蘇'}
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-07
Java?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-04
netty-grpc一次DirectByteBuffer內(nèi)存泄露問題
這篇文章主要介紹了netty-grpc一次DirectByteBuffer內(nèi)存泄露問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12

