相关文章推荐
强健的猕猴桃  ·  NumberStyles 枚举 ...·  4 周前    · 
行走的苹果  ·  C# ...·  4 周前    · 
帅气的佛珠  ·  Github Copilot Chat ...·  1 年前    · 
谦逊的针织衫  ·  Mac ...·  1 年前    · 
苦闷的围巾  ·  python - Anaconda : ...·  1 年前    · 

Java枚举类使用Lombok方式

作者:达希_

这篇文章主要介绍了Java枚举类使用Lombok方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Java枚举类使用Lombok

枚举类是一个特殊的常量类,由于其特殊的设计,具有简洁性、安全性以及便捷性,在开发中被普遍使用。

本文简单介绍一下如何使用Lombok进行枚举类定义。

  • 按照阿里巴巴的规范,所有的枚举类型字段必须要有注释,说明每个数据项的用途。
  • 这里为了节省篇幅就省略了。
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写法

由于枚举类的构造方法强制为私有,所以@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自定义枚举类

枚举类的创建

package com.bc.app.server.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.util.StringUtils;
 * @author qiu
 * 出入库申请 biz_type`'业务类型 枚举
@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为 ‘材料销售'

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

您可能感兴趣的文章:
  • SpringBoot Actuator未授权访问漏洞修复详解
    SpringBoot Actuator未授权访问漏洞修复详解
    2022-08-08
  • 使用mockito编写测试用例教程
    使用mockito编写测试用例教程
    2022-08-08
  • Java使用connectTo方法提高代码可续性详解
    Java使用connectTo方法提高代码可续性详解
    2022-08-08
  • Java IO流之字符流的使用详解
    Java IO流之字符流的使用详解
    2022-08-08
  • Java枚举类使用Lombok方式
    Java枚举类使用Lombok方式
    2022-08-08
  • Java LinkedList源码深入分析
    Java LinkedList源码深入分析
    2022-08-08
  • 如何解决LocalDateTime传值JSON格式化问题
    如何解决LocalDateTime传值JSON格式化问题
    2022-08-08
  • @JsonFormat处理LocalDateTime失效的问题
    @JsonFormat处理LocalDateTime失效的问题
    2022-08-08
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号