Java枚举类使用Lombok方式

 更新时间:2022年08月27日 10:52:12   作者:达希_  
这篇文章主要介绍了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为 ‘材料销售'

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

相关文章

  • Kafka简单客户端编程实例

    Kafka简单客户端编程实例

    这篇文章主要为大家详细介绍了Kafka简单客户端编程实例,利用Kafka的API进行客户端编程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • java读取html文件,并获取body中所有的标签及内容的案例

    java读取html文件,并获取body中所有的标签及内容的案例

    这篇文章主要介绍了java读取html文件,并获取body中所有的标签及内容的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • springboot实现登录功能的完整步骤

    springboot实现登录功能的完整步骤

    这篇文章主要给大家介绍了关于springboot实现登录功能的完整步骤,在web应用程序中,用户登录权限验证是非常重要的一个步骤,文中通过代码以及图文介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • 浅谈Spring自定义注解从入门到精通

    浅谈Spring自定义注解从入门到精通

    这篇文章主要介绍了浅谈Spring自定义注解从入门到精通,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Java文件(io)编程之记事本开发详解

    Java文件(io)编程之记事本开发详解

    这篇文章主要为大家详细介绍了Java文件(io)编程之记事本开发,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • java 基础教程之多线程详解及简单实例

    java 基础教程之多线程详解及简单实例

    这篇文章主要介绍了java 基础教程之多线程详解及简单实例的相关资料,线程的基本属性、如何创建线程、线程的状态切换以及线程通信,需要的朋友可以参考下
    2017-03-03
  • 如何使用Jackson和JSON Pointer查询解析任何JSON节点

    如何使用Jackson和JSON Pointer查询解析任何JSON节点

    本文介绍了JSON Pointer是字符串表达式,可以非常方便解析复杂JSON节点值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 详解Java的Hibernat框架中的Map映射与SortedMap映射

    详解Java的Hibernat框架中的Map映射与SortedMap映射

    这篇文章主要介绍了Java的Hibernat框架中的Map映射与SortedMap映射,Hibernat是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • Java Spring之@Async原理案例详解

    Java Spring之@Async原理案例详解

    这篇文章主要介绍了Java Spring之@Async原理案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • JVM内置函数Intrinsics介绍

    JVM内置函数Intrinsics介绍

    这篇文章主要介绍了JVM内置函数Intrinsics,我们将学习什么是intrinsics(内部/内置函数),以及它们如何在Java和其他基于JVM的语言中工作,需要的朋友可以参考一下
    2022-02-02

最新评论