Java枚舉類使用Lombok方式
Java枚舉類使用Lombok
枚舉類是一個特殊的常量類,由于其特殊的設(shè)計,具有簡潔性、安全性以及便捷性,在開發(fā)中被普遍使用。
本文簡單介紹一下如何使用Lombok進行枚舉類定義。
- 按照阿里巴巴的規(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)造方法強制為私有,所以@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)文章
詳解Spring與Mybatis整合方法(基于IDEA中的Maven整合)
這篇文章主要介紹了Spring與Mybatis整合方法(基于IDEA中的Maven整合),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10Java、JavaScript、Oracle、MySQL中實現(xiàn)的MD5加密算法分享
這篇文章主要介紹了Java、JavaScript、Oracle、MySQL中實現(xiàn)的MD5加密算法分享,需要的朋友可以參考下2014-09-09