Java枚舉類使用Lombok方式
Java枚舉類使用Lombok
枚舉類是一個特殊的常量類,由于其特殊的設(shè)計,具有簡潔性、安全性以及便捷性,在開發(fā)中被普遍使用。
本文簡單介紹一下如何使用Lombok進(jìn)行枚舉類定義。
- 按照阿里巴巴的規(guī)范,所有的枚舉類型字段必須要有注釋,說明每個數(shù)據(jù)項的用途。
- 這里為了節(jié)省篇幅就省略了。
普通寫法
public enum BoolEnum {
? ? TRUE(1), FALSE(0);
? ? private Integer value;
? ? BoolEnum(Integer value) {
? ? ? ? this.value = value;
? ? }
? ? public Integer getValue() {
? ? ? ? return value;
? ? }
? ??
? ? @Override
? ? public String toString() {
? ? ? ? return "SeasonEnum{value=" + value + '}';
? ? }
? ??
}Lombok寫法
由于枚舉類的構(gòu)造方法強(qiáng)制為私有,所以@AllArgsConstructor不需要使用access = AccessLevel.PRIVARE。
@ToString
@AllArgsConstructor
public enum BoolEnum {
? ? TRUE(1), FALSE(0);
? ? @Getter
? ? private Integer value;
? ??
}更精簡的寫法
拿掉setter,直接暴露屬性,將屬性改成final確保不會被篡改即可。
@ToString
@AllArgsConstructor
public enum BoolEnum {
? ? TRUE(1), FALSE(0);
? ??
? ? public final Integer value;
? ??
}Java自定義枚舉類
枚舉類的創(chuàng)建
package com.bc.app.server.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.util.StringUtils;
/**
* @author qiu
* 出入庫申請 biz_type`'業(yè)務(wù)類型 枚舉
*/
@Getter
@AllArgsConstructor
public enum TypeEnum {
CODE_1("1", "成品銷售"), CODE_2("2", "材料銷售"), CODE_3("3", "成品入庫"),
CODE_4("4","材料入庫");
String value;
String desc;
public static StockApplicationBizTypeEnum getEnumByValue(String value) {
StockApplicationBizTypeEnum[] arr$ = values();
int len$ = arr$.length;
for (int i$ = 0; i$ < len$; ++i$) {
StockApplicationBizTypeEnum t = arr$[i$];
if (!StringUtils.isEmpty(value)&&value.equals(t.getValue())) {
return t;
}
}
return null;
}
}
枚舉類的使用
String type = TypeEnum.getEnumByValue("2").getDesc()//type為 ‘材料銷售'以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例
這篇文章主要介紹了java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
springboot實(shí)現(xiàn)登錄功能的完整步驟
這篇文章主要給大家介紹了關(guān)于springboot實(shí)現(xiàn)登錄功能的完整步驟,在web應(yīng)用程序中,用戶登錄權(quán)限驗證是非常重要的一個步驟,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
java 基礎(chǔ)教程之多線程詳解及簡單實(shí)例
這篇文章主要介紹了java 基礎(chǔ)教程之多線程詳解及簡單實(shí)例的相關(guān)資料,線程的基本屬性、如何創(chuàng)建線程、線程的狀態(tài)切換以及線程通信,需要的朋友可以參考下2017-03-03
如何使用Jackson和JSON Pointer查詢解析任何JSON節(jié)點(diǎn)
本文介紹了JSON Pointer是字符串表達(dá)式,可以非常方便解析復(fù)雜JSON節(jié)點(diǎn)值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
詳解Java的Hibernat框架中的Map映射與SortedMap映射
這篇文章主要介紹了Java的Hibernat框架中的Map映射與SortedMap映射,Hibernat是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12

