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


猜你喜欢
- 一、背景项目中要解析xml,由于Dom4j的诸多优点,我就用Dom4j解析xml,代码如下:public void readXML() {
- unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android apk),总的流程分为以下6个步骤:1、安
- 在后端数据接口项目开发中,经常遇到返回的数据中有null值,导致前端需要进行判断处理,否则容易出现undefined的情况,如何便捷的将nu
- 前言:线程池是一个非常重要的知识点,也是池化技术的一个典型应用,相信很多人都有使用线程池的经历,但是对于线程池的实现原理大家都了解吗?本篇文
- 前言在实际项目开发中,会碰到这样的问题,数据库表结构设计好了,可实体类还没相应地弄出来。实体类的属性命名方法一般是驼峰法,而数据库中的表字段
- 先看效果图一、申请成为百度开发者,获得使用地图API接口的权限,获取(AK)码。1.打开百度地图开放平台打开网址:http://lbsyun
- 前言开发中很多需要javac 的程序依赖 JAVA_HOME环境变量.如果是手工下载源码安装的JDK,很容易知道JAVA_HOME的目录.
- 本文实例汇总了DevExpress SplitContainerControl的用法,希望对大家进行C#项目开发能起到一定的帮助作用。具体用
- 简介今天给大家带来的是使用ShareSDK实现应用分享的功能。下面我们先看下效果图。效果图步骤 1. 获取AppKey访问mob官网http
- 使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取package ark;im
- ComparableComparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Compa
- 前言Redis是一个开源的Key-Value数据缓存,和Memcached类似。Redis多种类型的value,包括string(字符串)、
- 相同点:二者都是Java的虚拟机,用来执行Java程序区别:javaw.exe运行程序时不会输出控制台信息,如果是双击打开jar文件的话(假
- 多表联合查询resultType的返回值一般数据按参数类型返回<select id="queryCarIdList"
- 一、题目描述题目实现:一个服务器与多个客户端通信。通过一个服务器与多个客户端进行通信,运行程序,服务器启动后,启动两个客户端程序,然后通过服
- 下面通过代码给大家介绍c++ string insert() 函数,具体内容如下:basic_string& inser
- 实现功能权限校验的功能有多种方法,其一使用 * 拦截请求,其二是使用AOP抛异常。 首先用 * 实现未登录时跳转到登录界面的功能。注意这里没
- springboot 高版本后不支持log4j了,很多人还是喜欢log4j风格的日志,我们自己来加载log4j,其实
- 像javascript中有eval()来执行动态代码,c#中是没有的,于是自己动手丰衣足食,先来代码using System;using S
- 在Spring MVC中想要对每一个URL进行权限控制,不想手工整理这样会有遗漏,所以就动手写程序了。代码如下: /** &nb