😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志
🎐 个人CSND主页——Micro麦可乐的博客
🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战
🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战
🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解
如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~
前言
在日常JAVA
项目开发过程中,我们编写的实体类会有很多状态、类型相关的字段需要枚举实现,从而需要创建对应的枚举类,如果字段类型较多,那么这个创建枚举类的过程还是让我们感到很麻烦的,那么这里分享一款IDEA插件enum-quick-generate
就可以根据我们的内容自动生成枚举类
安装插件
打开IDEA - 属性 -插件,如下图:
注意:枚举类依赖lombok插件
开始使用
安装完成后,我们编写一个订单类 Order
@Data
public class Order {
private Long id;
private String orderNo;
/**
* 支付状态 逗号分隔
* 0:no,1:yes
*/
private Integer payStatus;
/**
* 订单状态 空格分隔
* 0:待发货 1:已发货 2:已确认 3:已评价
*/
private Integer status;
/**
* 订单状态 分号分隔
* 0:申请退款; 1:退款中; 2:退款完成;
*/
private Integer refundStatus;
}
注释规则(不区分中英文):
- 枚举属性隔符: 冒号【 : 】
- 枚举对分隔符: 分号【 ; 】逗号【 , 】以及空格
1、选择我们的注释说明右键选择generate然后选择此插件
2、输入我们需要的枚举类名称
3、OK确认后插件会帮我们自动生成枚举并且设置到我们的剪切板, 我们只需要点击项目对应存放的包粘贴即可创建枚举类文件
我们一起来看看生成的效果:
PayStatusEnum
@Getter
@AllArgsConstructor
public enum PayStatusEnum {
NO(0, "no"),
YES(1, "yes");
private final Integer code;
private final String desc;
public static PayStatusEnum getEnumByCode(Integer code) {
for (PayStatusEnum e : PayStatusEnum.values()) {
if (e.code.equals(code)) {
return e;
}
}
return null;
}
}
OrderStatusEnum
@Getter
@AllArgsConstructor
public enum OrderStatusEnum {
ENUM0(0, "待发货"),
ENUM1(1, "已发货"),
ENUM2(2, "已确认"),
ENUM3(3, "已评价");
private final Integer code;
private final String desc;
public static OrderStatusEnum getEnumByCode(Integer code) {
for (OrderStatusEnum e : OrderStatusEnum.values()) {
if (e.code.equals(code)) {
return e;
}
}
return null;
}
}
RefundStatusEnum
@Getter
@AllArgsConstructor
public enum RefundStatusEnum {
ENUM0(0, "申请退款"),
ENUM1(1, "退款中"),
ENUM2(2, "退款完成");
private final Integer code;
private final String desc;
public static RefundStatusEnum getEnumByCode(Integer code) {
for (RefundStatusEnum e : RefundStatusEnum.values()) {
if (e.code.equals(code)) {
return e;
}
}
return null;
}
}
大家会发现插件已经帮我们生成了相关的枚举类,有特别需求的再进行代码调整即可;
结语
本文主要分享博主在日常工作中,使用到的枚举类生成工具,当然插件市场也有很多此类功能插件,大家可以自由选择,有了它根据注释一键生成枚举类,让我们从此远离加班,告别秃头! 😂😂