软件编程
位置:首页>> 软件编程>> java编程>> Java枚举类使用Lombok方式

Java枚举类使用Lombok方式

作者:达希_  发布时间:2022-06-28 22:07:02 

标签: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为 ‘材料销售'

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

来源:https://blog.csdn.net/nibonnn/article/details/106714822

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com