Java中枚舉類的用法示例詳解
1.引入枚舉類
Java 枚舉是一個(gè)特殊的類,一般表示一組常量,比如一年的 4 個(gè)季節(jié),一個(gè)年的 12 個(gè)月份,一個(gè)星期的 7 天,方向有東南西北等。
Java 枚舉類使用 enum 關(guān)鍵字來定義,各個(gè)常量使用逗號(hào) , 來分割。
示例:
enum Color
{
RED, GREEN, BLUE;
}
2.實(shí)現(xiàn)枚舉類
接下來我們來看一個(gè)一個(gè)簡(jiǎ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 {
// 枚舉定義的常量對(duì)象必須在最前面
SPRING("春天","萬(wàn)物復(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='萬(wàn)物復(fù)蘇'}
Season{name='夏天', desc='烈日炎炎'}
Season{name='秋天', desc='碩果累累'}
Season{name='冬天', desc='寒冷刺骨'}
3.枚舉類的使用注意事項(xiàng)
當(dāng)我們使用enum關(guān)鍵字來開發(fā)一個(gè)枚舉類的時(shí)候,默認(rèn)會(huì)繼承Eunm類,而且是一個(gè)final修飾的類
如果我們使用的是無參構(gòu)造器,則枚舉中可以直接省略小括號(hào)
// 枚舉定義的常量對(duì)象必須在最前面
SPRING("春天", "萬(wàn)物復(fù)蘇"),
SUMMER("夏天", "烈日炎炎"),
AUTUMN("秋天", "碩果累累"),
WINTER("冬天", "寒冷刺骨"),
Other, Shit;
Season() {
}
private Season(String name, String desc) {
this.name = name;
this.desc = desc;
}
4.枚舉的常用方法
我們用具體的程序示例來進(jìn)行枚舉常用方法的演示:
/**
* 枚舉類方法
*/
public class EnumMethod {
public static void main(String[] args) {
Season autumn = Season.AUTUMN;
// 獲取當(dāng)前枚舉對(duì)象的名稱
System.out.println(autumn.name());
// 輸出該枚舉對(duì)象的次序,從0開始
System.out.println(autumn.ordinal());
// 返回所有的枚舉對(duì)象
Season[] values = Season.values();
for (Season value : values) {
System.out.println(value);
}
// 將字符串轉(zhuǎn)化為枚舉對(duì)象,要求字符串必須為已有的常量名,否則會(huì)爆出一個(gè)異常
Season autumn1 = Season.valueOf("AUTUMN");
System.out.println(autumn1);
// 比較兩個(gè)枚舉常量,比較的就是編號(hào)
// AUTUMN的編號(hào)減去SUMMER的編號(hào)
System.out.println(Season.AUTUMN.compareTo(Season.SUMMER));
}
}輸出:
AUTUMN
2
Season{name='春天', desc='萬(wàn)物復(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細(xì)節(jié)
如果使用了enum,則該類不能再繼承其他的類,因?yàn)樗J(rèn)繼承Enum父類,但是可以進(jìn)行接口實(shí)現(xiàn)
到此這篇關(guān)于Java中枚舉類的用法示例詳解的文章就介紹到這了,更多相關(guān)Java枚舉類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 四舍五入保留小數(shù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨ava 四舍五入保留小數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
Java中的隱式參數(shù)和顯示參數(shù)實(shí)例詳解
這篇文章主要介紹了Java中的隱式參數(shù)和顯示參數(shù)是什么,另外還有兩個(gè)小例子幫助大家理解,需要的朋友可以參考下。2017-08-08
Java數(shù)據(jù)庫(kù)連接池之DBCP淺析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java數(shù)據(jù)庫(kù)連接池之DBCP的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
基于java實(shí)現(xiàn)顏色拾色器并打包成exe
這篇文章主要為大家詳細(xì)介紹了如何基于java編寫一個(gè)簡(jiǎn)單的顏色拾色器并打包成exe文件,文中的示例代碼講解詳細(xì),需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10
Mybatis plus結(jié)合springboot使用
本文主要介紹了MyBatisPlus使用SpringBoot數(shù)據(jù)庫(kù)操作,從添加依賴到測(cè)試,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
SpringBoot定時(shí)調(diào)度之Timer與Quartz詳解
Java?中常用的定時(shí)調(diào)度框架有以下幾種:Timer、ScheduledExecutorService、Spring?Task和Quartz,本文主要來和大家講講他們的具體使用,需要的可以參考一下2023-06-06

