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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java enum判断_Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)

發(fā)布時間:2025/4/17 java 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java enum判断_Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

packagecom.miracle.luna.lambda;importjava.util.Arrays;/*** @Author Miracle Luna

* @Date 2019/6/9 23:40

* @Version 1.0*/

public enumAlarmGrade {

ATTENTION("attention", "提示"),

WARNING("warning","警告"),

SERIOUS("serious", "嚴重"),

FAULT("fault", "故障"),

UNKNOWN("unknown", "未知");privateString key;privateString name;/***@paramkey

*@paramname*/AlarmGrade(String key, String name) {this.key =key;this.name =name;

}/***@returnReturns the key.*/

publicString getKey() {returnkey;

}/***@returnReturns the name.*/

publicString getName() {returnname;

}/*** 根據(jù)Key獲得枚舉的Value

* 普通for循環(huán)遍歷,比較判斷

*

*@paramkey

*@return

*/

public staticAlarmGrade getEnumType(String key) {

AlarmGrade[] alarmGrades=AlarmGrade.values();for (int i = 0; i < alarmGrades.length; i++) {if(alarmGrades[i].getKey().equals(key)) {returnalarmGrades[i];

}

}returnAlarmGrade.UNKNOWN;

}/*** 根據(jù)Key獲得枚舉的Value

* 加強for循環(huán)遍歷,比較判斷

*

*@paramkey

*@return

*/

public staticAlarmGrade getEnumType1(String key) {

AlarmGrade[] alarmGrades=AlarmGrade.values();for(AlarmGrade alarmGrade : alarmGrades) {if(alarmGrade.getKey().equals(key)) {returnalarmGrade;

}

}returnAlarmGrade.UNKNOWN;

}/*** 根據(jù)Key獲得枚舉的Value

* Lambda表達式,比較判斷(JDK 1.8)

*

*@paramkey

*@return

*/

public staticAlarmGrade getEnumType2(String key) {

AlarmGrade[] alarmGrades=AlarmGrade.values();

AlarmGrade result=Arrays.asList(alarmGrades).stream()

.filter(alarmGrade->alarmGrade.getKey().equals(key))

.findFirst().orElse(AlarmGrade.UNKNOWN);returnresult;

}/*** 根據(jù)Key獲得枚舉的Value

* Lambda表達式,比較判斷(JDK 1.8)

*

*@paramkey

*@return

*/

public staticAlarmGrade getEnumType3(String key) {returnArrays.asList(AlarmGrade.values()).stream()

.filter(alarmGrade->alarmGrade.getKey().equals(key))

.findFirst().orElse(AlarmGrade.UNKNOWN);

}public static voidmain(String[] args) {

String grade= "attention";

System.out.println("第一種方式:普通for循環(huán)遍歷,比較判斷 \n" + grade + ": " +AlarmGrade.getEnumType(grade).getName());

System.out.println("\n第二種方式:加強for循環(huán)遍歷,比較判斷 \n" + grade + ": " +AlarmGrade.getEnumType1(grade).getName());

System.out.println("\n第三種方式:Lambda表達式,比較判斷 \n" + grade + ": " +AlarmGrade.getEnumType2(grade).getName());

System.out.println("\n第四種方式:Lambda表達式,比較判斷 \n" + grade + ": " +AlarmGrade.getEnumType3(grade).getName());

}

}

總結

以上是生活随笔為你收集整理的java enum判断_Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。