日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 枚举高级应用_【后端】java基础(5.6)java高级基础之枚举

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 枚举高级应用_【后端】java基础(5.6)java高级基础之枚举 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java中除了類和接口,還有一個類型叫做枚舉(enum),它出現得比較晚,在JDk1.5之后才出,因此對我們來說并不常用,但是它的作用還是不小。

創建的時候前面和創建類、接口一樣,在new之后,我們選擇enum即可。表面上枚舉和類,接口的區別是它是用enum修飾的,在圖標上是個黃色的E。

至于內部上的區別,我個人認為枚舉主要是將基本類型和值的限制進行了一個封裝。枚舉,根據字面的意思就是一一舉例,那么我覺得就是可以封裝進去一些已知所有結果的值。我們可以將它用作常量的封裝。

首先我們來定義一個枚舉,將周一到周日封裝進去:

public enum Week {

MON,TUE,WED,THU,FRI,SAT,SUN

}

如果我們要使用它的,直接調用即可,比如說我想調用星期一:

public class Test {

public static void main(String[] args) {

Week week = Week.MON;

System.out.println(week);

}

}

然后,我們還可以直接用在switch里面:

public static void main(String[] args) {

Week week = Week.MON;

switch (week) {

case MON:

break;

case TUE:

break;

case WED:

break;

case THU:

break;

case FRI:

break;

case SAT:

break;

case SUN:

break;

default:

break;

}

}

當然我們也可以用for each遍歷枚舉:

public static void main(String[] args) {

Week week = Week.MON;

for (Week w : week.values()) {

System.out.println(w);

}

}

講了這么多,有童鞋可能會問了,那我直接在外面寫七個String類型的變量就可以了,干嘛非要用什么枚舉,還這么麻煩?

我們的java代碼提倡?高內聚,低耦合的設計理念,通俗來講,就是一段代碼,能封裝就封裝,能復用就復用,盡量不要讓同樣的一段邏輯在程序中出現多次。比如這個星期,我們可能在這個類里面要用到,也可能要在別的類里面用到,那么我們只需要寫一個枚舉,這樣在別的類用的時候也是如此調用就好了。這樣做的好處是,如果哪一天,我們要改什么需求,只需要在枚舉里面改一下就好了,如果程序沒有符合這個理念,不僅改起來非常麻煩,還容易出錯。

接下來講講稍微高級點的玩法:

public enum Week {

MON("星期一"),TUE("星期二"),WED("星期三"),THU("星期四"),FRI("星期五"),SAT("星期六"),SUN("星期日");

private String week;

private Week(String week){

this.week = week;

}

public String getWeek() {

return week;

}

}

public class Test {

public static void main(String[] args) {

Week week = Week.MON;

for (Week w : week.values()) {

System.out.println(w.getWeek());

}

}

}

如果我們加入有參構造函數還有getter方法,加入一個值起名叫做week,便可以獲取這個值里面的實際內容,運行,再運行結果就是:

除了加一個,我們還可以加多個,比如給每個星期的值加上一個下標:

public enum Week {

MON("星期一",0),TUE("星期二",1),WED("星期三",2),THU("星期四",3),FRI("星期五",4),SAT("星期六",5),SUN("星期日",6);

private String week;

private int index;

private Week(String week, int index){

this.week = week;

this.index = index;

}

public String getWeek() {

return week;

}

public int getIndex(){

return index;

}

}

當然,我們也可以加入setter方法,這個函數可以用來修改枚舉里面的內容,比如我們用getter方法拿到index為0的參數,我們把再用setter方法講將此參數內的weeb值修改,這個有興趣的話可以自己試驗一下。 枚舉還有更多用法,比如可以繼承類還有實現接口,有興趣可以自己查查,在這不做重點。

總結

以上是生活随笔為你收集整理的java 枚举高级应用_【后端】java基础(5.6)java高级基础之枚举的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。