Java创建枚举类并定义使用枚举项

Posted 小花皮猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java创建枚举类并定义使用枚举项相关的知识,希望对你有一定的参考价值。

前言

在项目开发中,常量和枚举都是我们经常使用的技巧。都是为了提高开发效率。常量我们一般都会创建一个常量类,里面放一些经常使用的变量,例如:

枚举的定义和使用相比于常量,也是有异曲同工之巧的,下面就简单演示下如何定义和使用枚举

创建枚举类

首先我们要创建一个枚举类,使用IDEA的话就是创建class,然后选择Enum

一般我们的枚举类都是以xxxEnum这样命令的,表示这是一个枚举类。一般我们有两种做法

第一:创建一个系统枚举类,里面存放系统里面全部的枚举类

第二:每一个枚举类都单独创建,不混在一个大类里面

我个人比较倾向第一种,所以我就以第一种为例,开始简单介绍。

开发中按照自己的需求或者团队的需求灵活选择统一方案即可

定义枚举项

以数据库为参考,可以看到我这里有三个字段都可以定义成枚举:

下面以sex为例:

一般来说,我们都会给枚举项两个基本的属性,用于表示状态和描述,然后就可以对根据需求,定义多个枚举项了。

枚举项和常量一样,最好都要使用大写+下划线的进行定义。多个枚举项之间使用逗号隔开,最好一个枚举项使用封号结尾:

如果不是这么定义,那语法都过不去的

因为我们不会给枚举项设置值,但是通常需要使用枚举项的值,所以只需要使用@Getter进行修饰即可。

这样一个简单的枚举项就定义好了,我们可以在这个大枚举类里面定义其他的枚举项:

注意,这些枚举项都是在class中定义的,每一个单独的枚举使用enum修饰

相关代码如下:

package com.wyh.common;

import lombok.Data;
import lombok.Getter;

/**
 * @Description: 系统枚举
 * @Author: 魏一鹤
 * @Date: 2023-02-01 20:14
 **/
@Data
public class Enums 
    /**
     * 性别 0:女 1:男
     **/
    public enum SexEnum 
        SEX_WOMAN("女", 0),
        SEX_MAN("男", 1);
        @Getter
        private String desc;
        @Getter
        private int code;

        SexEnum(String desc, int code) 
            this.desc = desc;
            this.code = code;
        
    


    /**
     * 是否删除 0:正常 1:删除
     **/
    public enum DeleteEnum 
        DELETE_NO("正常", 0),
        DELETE_IS("删除", 1);
        @Getter
        private String desc;
        @Getter
        private int code;

        DeleteEnum(String desc, int code) 
            this.desc = desc;
            this.code = code;
        
    

    /**
     * 账号状态 0:正常 1:删除
     **/
    public enum StatusEnum 
        ACCOUNT_NORMAL("正常", 0),
        ACCOUNT_DISABLE("禁用", 1);
        @Getter
        private String desc;
        @Getter
        private int code;

        StatusEnum(String desc, int code) 
            this.desc = desc;
            this.code = code;
        
    


使用枚举

以性别枚举为例,我们可以获取一下它的值,为了方便,我直接写了个main方法进行测试:

  System.out.println(SEX_WOMAN.getDesc());
  System.out.println(SEX_WOMAN.getCode());

总结

总的来说,枚举确实可以帮助我们优化代码,提高效率。这只是最简单的定义和使用,后面开发中如果遇到深化的使用场景,再回来补充

以上是关于Java创建枚举类并定义使用枚举项的主要内容,如果未能解决你的问题,请参考以下文章

Java--枚举类型(枚举类型介绍 & 定义枚举类型 & 枚举类型的使用 & 枚举类型的注意事项 & 遍历枚举项)

java enum使用方法

Java 枚举类型用法

java 28 - 5 JDK5的新特性 之 枚举的使用

java 枚举enum定义的方法与位置。

java中的枚举类