一、基本概念
枚舉在Java中是一種特殊的數據類型,它定義了一組預定義常量和值。
用枚舉定義常量可以讓程序更加易讀、易維護、易調試。在一些特定的場合,使用枚舉可以有效地避免代碼中的一些錯誤。
在Java中,枚舉是通過enum關鍵字來定義的。
public enum Season { SPRING, SUMMER, AUTUMN, WINTER; }
上面的代碼定義的是一個季節的枚舉,它包含4個值:SPRING、SUMMER、AUTUMN、WINTER。
二、遍歷枚舉值
1、使用values()方法
Java編譯器會自動為枚舉類型添加一個values()方法,它會返回包含枚舉所有值的數組。
Season[] seasons = Season.values(); for (Season season : seasons) { System.out.println(season); }
上述代碼會打印出以下結果:
SPRING SUMMER AUTUMN WINTER
2、使用foreach循環
通過foreach循環遍歷所有的枚舉值。
for (Season season : Season.values()) { System.out.println(season); }
同樣,以上代碼也會輸出四個枚舉值。
3、使用Stream API
在Java 8之後引入的Stream API可以用於遍歷枚舉值。
Stream.of(Season.values()).forEach(System.out::println);
上述代碼使用Stream API的forEach方法遍歷所有枚舉值,並打印出來。
三、根據枚舉屬性過濾枚舉值
有時候我們需要根據枚舉的某個屬性進行過濾,從而得到需要的枚舉值。下面介紹兩種方法。
1、遍歷枚舉值,判斷屬性值
for (Season season : Season.values()) { if (season.name().equals("SPRING")) { System.out.println(season); } }
以上代碼可以根據枚舉的名稱屬性值來過濾需要的枚舉值,輸出結果為:
SPRING
2、使用Stream API過濾屬性值
Stream.of(Season.values()) .filter(s -> s.name().equals("SUMMER")) .forEach(System.out::println);
以上代碼使用Stream API的filter方法,根據屬性值來過濾出需要的枚舉值,輸出結果如下:
SUMMER
四、總結
以上介紹了三種遍歷枚舉值的方法,以及兩種根據枚舉屬性值來過濾枚舉值的方法。
枚舉在Java中的使用非常廣泛,這裡只是介紹了其中的一小部分用法。希望本文對想要學習枚舉的Java開發者有所幫助。
原創文章,作者:KPPJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/131314.html