这篇文章主要介绍了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为 ‘材料销售'
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Java枚举类使用Lombok方式
基础教程推荐
猜你喜欢
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 降序排序:Java Map 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01