Java枚举类使用Lombok方式

目录
  • Java枚举类使用Lombok
    • 普通写法
    • Lombok写法
    • 更精简的写法
  • Java自定义枚举类
    • 枚举类的创建
    • 枚举类的使用

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

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

(0)

相关推荐

  • 详解Java枚举类在生产环境中的使用方式

    目录 前言 使用 1.确定业务场景状态 2.定义枚举类 3.自定义查询方法 4.测试效果 总结 前言   Java枚举在项目中使用非常普遍,许多人在做项目时,一定会遇到要维护某些业务场景状态的时候,往往会定义一个常量类,然后添加业务场景相关的状态常量.但实际上,生产环境的项目中业务状态的定义大部分是由枚举类来完成的,因为更加清晰明确,还能自定义不同的方法来获取对应的业务状态值,十分方便. 以下代码均为生产环境已上线项目的代码片段,仅供参考. 使用 大体分为确定业务场景状态.定义枚举类.自定义查询

  • java 枚举类中的valueOf用法说明

    目录 枚举类中的valueOf用法 先创建一个BasicEnum的接口 创建一个枚举类实现BasicEnum接口 枚举类valueOf方法的疑问 枚举类中的valueOf用法 前言:今天遇到了一个枚举类的valueOf用法,遇到了一点问题,这里特例写一个demo来测试一下 先创建一个BasicEnum的接口 /** * @Author 徐志 * @date 2020/9/4 12:42 **/ public interface BasicEnum<L,V> { /** * get name *

  • Java实现同步枚举类数据到数据库

    本文实例为大家分享了Java同步枚举类数据到数据库的具体实现代码,供大家参考,具体内容如下 1.需求说明: 我们在开发中常常会用到数据字典,后端程序中也会经常用到(一般是用枚举类来存储),然而我们数据库中也会维护一个数据字典的数据,便于前端做数据显示时的处理,有一个问题就是,如果字典项发生变化后,我们需要修改枚举类和数据库的字典数据,要修改两次,还要面临二者不一致的风险. 所以这里的一个决绝方案就是自动读取枚举类的数据并更新到数据库,本文只讲枚举类数据的提取. 2.首先创建一个描述枚举类型的注解

  • Java中枚举类的用法示例详解

    目录 1.引入枚举类 2.实现枚举类 3.枚举类的使用注意事项 4.枚举的常用方法 5.enum细节 1.引入枚举类 Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等. Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割. 示例: enum Color { RED, GREEN, BLUE; } 2.实现枚举类 接下来我们来看一个一个简单的DEMO示例: /** * java枚举 */ p

  • 深入浅出讲解Java中的枚举类

    目录 一.枚举类的使用 二.如何定义枚举类 背景:类的对象只有有限个,确定的.举例如下: > 星期: Monday (星期一).-.. Sunday (星期天) > 性别: Man (男). Woman (女) > 季节: Spring (春节).--.. Winter (冬天) > 支付方式: Cash (现金). WeChatPay (微信). Alipay (支付宝) BankCard (银 行卡). CreditCard (信用卡) > 就职状态: Busy . Fr

  • Java浅析枚举类的使用

    目录 1.枚举规则 2.枚举的个数 3.枚举类中常用函数 4.实现枚举类 5.枚举类的使用注意事项 概念:有enum关键字修饰的类,成为枚举类 1.枚举规则 枚举类的对象可以有类里面定义,不支持重新new出来, 枚举类有构造函数,其他的类都一样,可以有多个方法 枚举类的构造方法必须是private私有的,成员变量都公有私有都可以 原因:枚举类的构造方法只能在本类中被调用,因为不支持其他来来new对象,所以自然构造函数为private 代码示例: package com.meijulei; //枚

  • Java枚举类使用Lombok方式

    目录 Java枚举类使用Lombok 普通写法 Lombok写法 更精简的写法 Java自定义枚举类 枚举类的创建 枚举类的使用 Java枚举类使用Lombok 枚举类是一个特殊的常量类,由于其特殊的设计,具有简洁性.安全性以及便捷性,在开发中被普遍使用. 本文简单介绍一下如何使用Lombok进行枚举类定义. 按照阿里巴巴的规范,所有的枚举类型字段必须要有注释,说明每个数据项的用途. 这里为了节省篇幅就省略了. 普通写法 public enum BoolEnum {     TRUE(1), F

  • java枚举类的构造函数实例详解

    java枚举类的构造函数实例详解 首先,给出一个例题如下: enum AccountType { SAVING, FIXED, CURRENT; private AccountType() { System.out.println("It is a account type"); } } class EnumOne { public static void main(String[]args) { System.out.println(AccountType.FIXED); } } T

  • Java枚举类用法实例

    本文实例讲述了Java枚举类用法.分享给大家供大家参考.具体如下: package com.school.stereotype; /** * 活动枚举类型 * @author QiXuan.Chen */ public enum EventStatus { /** * 未发布. */ DRAFT("DRAFT", "未发布"), /** * 已发布. */ PUBLISHED("PUBLISHED", "已发布"); /**

  • java枚举类的属性、方法和构造方法应用实战

    本文实例讲述了java枚举类的属性.方法和构造方法应用.分享给大家供大家参考,具体如下: 一 点睛 枚举类也是一种类,只是它是一种比较特殊的类,因此它一样可以使用属性和方法. 枚举类通常应该设计成不可变类,也就说它的属性值不应该允许改变,这样会更安全,而且代码更加简洁.为此,我们应该将枚举类的属性都使用private final修饰. 一旦为枚举类显式定义了带参数的构造器,则列出枚举值时也必须对应地传入参数. 二 简单枚举类实战 1 代码 Gender.java public enum Gend

  • Java枚举类接口实例原理解析

    这篇文章主要介绍了Java枚举类接口实例原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 枚举类可以实现一个或多个接口.与普通类实现接口完全一样,枚举类实现接口时,需要实现该接口所包含的方法. 如果需要每个枚举值在调用同一个方法时呈现不同的行为,则可以让每个枚举值在{...}匿名块中实现自己的业务逻辑. public interface IGradeHandler { String getGrade(String studentName)

  • java 枚举类定义静态valueOf(java.lang.String)方法的问题及解决

    目录 问题的起因 猜测.分析 最终解决方案 枚举类Enum方法简介(valueof,value,ordinal) 我们应该注意到enum类型有如下的一些特征 了解了这些基本特性,我们来看看如何使用它们 问题的起因 起因来自于我对于java枚举类的无知. 我本来想定义这样一个枚举类: public enum MenuOptions { CHAT_ROOM("#1"), MENU("#0"), ERROR("#9999"); private Stri

  • Java枚举类使用场景及实例解析

    为什么要用枚举类 什么场景会用到枚举,比如在表示一周的某一天,一年中的四季,这样一组常量的时候我们会用到枚举.在Java引入枚举类之前常用一组int常量来表示枚举,这种方式称为int枚举模式(int enum pattern). private static final int MONDAY = 1; private static final int TUESDAY = 2; private static final int WEDNESDAY = 3; private static final

  • Java 枚举类和自定义枚举类和enum声明及实现接口的操作

    1.枚举类 注: JDK1.5之前需要自定义枚举类 JDK 1.5 新增的 enum 关键字用于定义枚举类 若枚举只有一个成员, 则可以作为一种单例模式的实现方式 1.枚举类的属性 1.枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰 2.枚举类的使用 private final 修饰的属性应该在构造器中为其赋值 3.若枚举类显式的定义了带参数的构造器, 则在列出枚举值时也必须对应的传入参数 2.自定义枚举类 如何自定义枚举类的方法写在注释里 //自定义枚举类 c

  • Java枚举类与注解,新手一篇搞定它

    一.枚举类 类的对象只有有限个, 确定的. 我们称此类为枚举类. 说明: 1.类的对象只有有限个,确定的.如: 星期:Monday(星期一).-.Sunday(星期天) 性别:Man(男).Woman(女) Ø 季节:Spring(春节)-Winter(冬天) 支付方式:Cash(现金).WeChatPay(微信).Alipay(支付宝).BankCard(银 行卡).CreditCard(信用卡) 就职状态:Busy.Free.Vocation.Dimission订单状态:Nonpayment

随机推荐