一文秒懂Java enum常見的用法講解
更新時間:2020年12月22日 10:55:07 作者:浮生夢
這篇文章主要介紹了一文秒懂Java enum常見的用法講解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
簡介
枚舉是Java1.5引入的新特性,通過關(guān)鍵字enum來定義枚舉類。枚舉類是一種特殊類,它和普通類一樣可以使用構(gòu)造器、定義成員變量和方法,也能實現(xiàn)一個或多個接口,但枚舉類不能繼承其他類.
一,常量定義
public enum WeekDay {
SUN, MON, TUE, WED, THT, FRI, SAT
}
二,swich
public enum WeekDay {
SUN, MON, TUE, WED, THT, FRI, SAT
}
public class SelectDay{
WeekDay weekday = WeekDay.SUN;
public void select(){
switch(weekday){
case SUN:
weekday = WeekDay.SUN;
break;
...
}
}
}
三,向枚舉添加新方法
public enum Color {
RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);
// 成員變量
private String name;
private int index;
// 構(gòu)造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
// 普通方法
public static String getName(int index) {
for (Color c : Color.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
}
// get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
四,覆蓋枚舉方法
public enum Color {
RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);
// 成員變量
private String name; private int index;
// 構(gòu)造方法
private Color(String name, int index) {
this.name = name; this.index = index;
}
//覆蓋方法
@Override
public String toString() {
return this.index+"_"+this.name;
}
}
五,實現(xiàn)接口
public interface Behaviour {
void print();
String getInfo();
}
public enum Color implements Behaviour{
RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);
// 成員變量
private String name;
private int index;
// 構(gòu)造方法
private Color(String name, int index) {
this.name = name; this.index = index;
}
//接口方法
@Override
public String getInfo() {
return this.name;
}
//接口方法
@Override
public void print() {
System.out.println(this.index+":"+this.name);
}
}
六,接口組織枚舉
public interface Food {
enum Coffee implements Food{
BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO
}
enum Dessert implements Food{
FRUIT, CAKE, GELATO
}
}
七,枚舉集合
public class Test {
public static void main(String[] args) {
EnumSet<WeekDay> week = EnumSet.noneOf(WeekDay.class);
week.add(WeekDay.MON);
System.out.println("EnumSet中的元素:" + week);
week.remove(WeekDay.MON);
System.out.println("EnumSet中的元素:" + week);
week.addAll(EnumSet.complementOf(week));
System.out.println("EnumSet中的元素:" + week);
week.removeAll(EnumSet.range(WeekDay.FRI, WeekDay.SAT));
System.out.println("EnumSet中的元素:" + week);
}
到此這篇關(guān)于一文秒懂Java enum常見的用法講解的文章就介紹到這了,更多相關(guān)Java enum用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ssm框架下web項目,web.xml配置文件的作用(詳解)
下面小編就為大家?guī)硪黄猻sm框架下web項目,web.xml配置文件的作用(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
在RabbitMQ中實現(xiàn)Work queues工作隊列模式
這篇文章主要介紹了如何在RabbitMQ中實現(xiàn)Work queues模式,代碼詳細,解釋清晰,可以幫助大家更好理解java,對這方面感興趣的朋友可以參考下2021-04-04
springboot oauth2實現(xiàn)單點登錄實例
我們見過的很多網(wǎng)站,容許使用第三方賬號登錄,oauth2是用來做三方登錄的,本文就詳細的介紹springboot oauth2實現(xiàn)單點登錄實例,具有一定的參考價值,感興趣的可以了解一下2022-01-01

