1、java枚举是从jdk5开始引入的
2、简单枚举类型定义
package com.ly.demo.jdk13; /** * @author liuyang * @create 2020-04-29 23:24 */ public enum ColorEnum { // 枚举类型内还有定义其它方法时,最后一个枚举实例后面要以;结尾 RED, GREEN, YELLOW; public static void main(String[] args) { // 获得枚举实例数组 ColorEnum[] colors = ColorEnum.values(); for (ColorEnum color : colors) { System.out.println("枚举实例名:" + color.name()); System.out.println("枚举实例顺序从0开始:" + color.ordinal()); } } }
3、定有有其它方法的枚举类型,枚举类型可以添加普通方法、静态方法、抽象方法、构造方法
package com.ly.demo.jdk13; /** * @author liuyang * @create 2020-04-29 23:34 */ public enum ErrorCodeEnum { // 格式需要与构造方法保持一致 // A和B调用的有参构造器 // C调用的无参构造器,ERROR_C()可直接简写为ERROR_C ERROR_A("错误A", "A"), ERROR_B("错误B", "B"), ERROR_C(); private String msg; private String code; ErrorCodeEnum() { } //枚举类型的构造器只能声明为private或者不修饰 ErrorCodeEnum(String msg, String code) { this.msg = msg; this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public static void main(String[] args) { ErrorCodeEnum[] arr = ErrorCodeEnum.values(); for (ErrorCodeEnum item : arr) { System.out.println("msg:" + item.getMsg() + ",code:" + item.getCode()); } } }