• Java中enum的使用


    Java中enum的使用

    在Java中,被 enum 关键字修饰的类型就是枚举类型,enum 的全称为 enumeration,它是 JDK 1.5 中引入的新特性。所有的枚举类型都是继承自Enum 类型。

    以下是通过对枚举对象WeekDayEnum进行案例使用介绍:

    public enum WeekDayEnum {
    
        //1、定义枚举常量,用逗号隔开,枚举类的后缀建议为Enum,
        // 枚举类的实例对象必须在最前面先定义
        // 枚举类型的实例对象建议全大写(这样做符合JAVA的规范)
        // 而且必须每个实例对象都必须维护上day、code私有成员变量
        MONDAY(1,"星期一"), //私有构造赋值
        TUESDAY(2,"星期二"), //私有构造赋值
        WEDNESDAY(3,"星期三"),//私有构造赋值
        THURSDAY(4,"星期四"), //私有构造赋值
        FRIDAY(5,"星期五"),//私有构造赋值
        SATURDAY(6,"星期六"), //私有构造赋值
        // 2.最后一行用分号结尾
        SUNDAY(7,"星期日");//私有构造赋值
    
        // 3、创建私有成员变量;
        private String day;
        private Integer code;
    
        //4、编写私有有参构造方法;
        // 枚举类型的构造函数默认为private,
        // 因为枚举类型的初始化要在当前枚举类中完成。
        private WeekDayEnum(Integer code,String day) {
            //System.out.println(weekday);
            this.code=code;
            this.day = day;
        }
        //5、覆盖toString()方法
        @Override
        public String toString() {
            return this.day+this.code;
        }
    
        //6.getWeekDayByCode
        public static WeekDayEnum getWeekDayByCode(Integer code){
            for (WeekDayEnum day : WeekDayEnum.values()){
                if (day.code.equals(code)){
                    return day;
                }
            }
            return null;
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    public class WeekDayDemo {
        public static void main(String[] args) {
            //结果本质上都是WeekDayEnum对象,
            //底层相当于调用了WeekDayEnum默认构造方法创建一个对象,将所有的数据存入数组
            System.out.println(WeekDayEnum.MONDAY.getClass().getName());
            System.out.println(WeekDayEnum.MONDAY);
            System.out.println(WeekDayEnum.TUESDAY);
            System.out.println(WeekDayEnum.WEDNESDAY);
            System.out.println(WeekDayEnum.THURSDAY);
            System.out.println(WeekDayEnum.FRIDAY);
            System.out.println(WeekDayEnum.SATURDAY);
            System.out.println(WeekDayEnum.SUNDAY);
    
            //values方法用于将所有的枚举对象以数组的形式返回,方便使用
            System.out.println("values==="+WeekDayEnum.values());
            for (WeekDayEnum day : WeekDayEnum.values()){
                System.out.println(day.toString());
            }
    
            //通过valueOf,获取TUESDAY枚举类型
            WeekDayEnum day2 = WeekDayEnum.valueOf("TUESDAY");
            System.out.println("day2===="+day2);
    
            System.out.println(WeekDayEnum.getWeekDayByCode(2).toString());
    
            //使用枚举的结果本质上底层调用了WeekDayEnum默认构造方法,
            //创建了多个WeekDayEnum实例对象,对象起名分别为MONDAY到SUNDAY,
            //将枚举数据实例存入一个数组的里面,ordinal是数组的下标
            System.out.println(WeekDayEnum.MONDAY.ordinal());
            System.out.println(WeekDayEnum.TUESDAY.ordinal());
            System.out.println(WeekDayEnum.WEDNESDAY.ordinal());
            System.out.println(WeekDayEnum.THURSDAY.ordinal());
            System.out.println(WeekDayEnum.FRIDAY.ordinal());
            System.out.println(WeekDayEnum.SATURDAY.ordinal());
            System.out.println(WeekDayEnum.SUNDAY.ordinal());
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    在这里插入图片描述

  • 相关阅读:
    树的相关知识的注意事项
    【愚公系列】华为云系列之ModelArts+AppCube带你识别101种西式美食【我的低代码AI体验】
    机器学习:集成学习(Python)
    2022春夏系列 KOREANO ESSENTIAL重塑时装生命力
    Java 基础_框架阶段核心面试题
    css常用选择器
    【FreeRTOS】【STM32】06 FreeRTOS的使用-动态创建单任务
    MongoDB之MongoDBConnectorBI安装与使用
    git常用操作
    打架检测(GPU实时)
  • 原文地址:https://blog.csdn.net/Good_omen/article/details/126051362