Java枚舉類使用Lombok方式
Java枚舉類使用Lombok
枚舉類是一個(gè)特殊的常量類,由于其特殊的設(shè)計(jì),具有簡潔性、安全性以及便捷性,在開發(fā)中被普遍使用。
本文簡單介紹一下如何使用Lombok進(jìn)行枚舉類定義。
- 按照阿里巴巴的規(guī)范,所有的枚舉類型字段必須要有注釋,說明每個(gè)數(shù)據(jù)項(xiàng)的用途。
- 這里為了節(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確保不會(huì)被篡改即可。
@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 * 出入庫申請(qǐng) 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為 ‘材料銷售'
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java棧和基礎(chǔ)隊(duì)列的實(shí)現(xiàn)詳解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)中的棧與隊(duì)列,在Java的時(shí)候,對(duì)于棧與隊(duì)列的應(yīng)用需要熟練的掌握,這樣才能夠確保Java學(xué)習(xí)時(shí)候能夠有扎實(shí)的基礎(chǔ)能力。本文小編就來詳細(xì)說說Java中的棧與隊(duì)列,需要的朋友可以參考一下2022-02-02詳解Spring與Mybatis整合方法(基于IDEA中的Maven整合)
這篇文章主要介紹了Spring與Mybatis整合方法(基于IDEA中的Maven整合),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Java、JavaScript、Oracle、MySQL中實(shí)現(xiàn)的MD5加密算法分享
這篇文章主要介紹了Java、JavaScript、Oracle、MySQL中實(shí)現(xiàn)的MD5加密算法分享,需要的朋友可以參考下2014-09-09尋找二叉樹最遠(yuǎn)的葉子結(jié)點(diǎn)(實(shí)例講解)
下面小編就為大家分享一篇尋找二叉樹最遠(yuǎn)的葉子結(jié)點(diǎn)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12