java ENUM 枚举
发布日期:2021-05-07 00:40:03 浏览次数:18 分类:原创文章

本文共 2454 字,大约阅读时间需要 8 分钟。

枚举

1、枚举类理解:类的对象只有有限个,确定的

2、当需要定义一组常量时,强烈建议使用枚举类

3、如果枚举类只有一个对象,则可以作为单例模式的实现方式

如何使用枚举类

jdk5.0 之前 自定义枚举类

jdk5.0 之后,使用enum关键字定义枚举类

自定义枚举类

/** * 自定义枚举类 */public class SeasonTest {       public static void main(String[] args) {           System.out.println(Season.SPRING.getSeasonName());    }}class Season{       private final String seasonName;    private final String seasonDesc;    private Season(String seasonName, String seasonDesc) {           this.seasonName = seasonName;        this.seasonDesc = seasonDesc;    }    public static final Season SPRING = new Season("Spring", "穿暖花开");    public static final Season SUMMER = new Season("Summer", "夏日炎炎");    public static final Season AUTUMN = new Season("Autumn", "秋高气爽");    public static final Season WINTER = new Season("Winter", "寒风凛冽");    public String getSeasonName() {           return seasonName;    }    public String getSeasonDesc() {           return seasonDesc;    }}

使用enum关键字

/** * 使用enum关键字 * 1、默认继承于 java.lang.Enum 类 * * Enum类的三个主要方法 * values()        返回所有枚举类对象 * toString()      输出名字 * valueOf("name") 返回名字为name的枚举类对象 * */public class SeasonTest2 {       public static void main(String[] args) {           System.out.println(Season2.SPRING);        Season2.SPRING.show();        System.out.println(Season2.class.getSuperclass());    }}interface Info{       void show();}/** 1、 实现接口,在enum类中实现抽象方法* 2、 让枚举类的对象分别实现接口中的抽象方法* */enum Season2 implements Info{       SPRING("Spring", "穿暖花开"){           @Override        public void show() {               System.out.println("大约在春季");        }    },    SUMMER("Summer", "夏日炎炎"){           @Override        public void show() {               System.out.println("大约在夏季");        }    },    AUTUMN("Autumn", "秋高气爽"){           @Override        public void show() {               System.out.println("大约在秋季");        }    },    WINTER("Winter", "寒风凛冽"){           @Override        public void show() {               System.out.println("大约在冬季");        }    };    private final String seasonName;    private final String seasonDesc;    private Season2(String seasonName, String seasonDesc) {           this.seasonName = seasonName;        this.seasonDesc = seasonDesc;    }    public String getSeasonName() {           return seasonName;    }    public String getSeasonDesc() {           return seasonDesc;    }}

Enum类

三个常用方法

values() 返回所有枚举类对象

toString() 输出名字

valueOf(“name”) 返回名字为name的枚举类对象

遇到的问题

使用完枚举类之后,发现枚举类的强大之后

然后,发现json 将 枚举类对象 转换成 json格式的对象

上一篇:mysql的五种日期和时间类型
下一篇:Linux Centos7 安装 mariadb

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月12日 13时48分57秒