java枚举类enum

2020-06-16  本文已影响0人  Geroge1226

1、使用场景

每当需要一组固定的常量的时候,如一周的天数、一年四季等。或者是在我们编译前就知道其包含的所有值的集合。Java 1.5的枚举能满足绝大部分程序员的要求的,它的简明,易用的特点是很突出的。

2、样例:

public enum  MonthMapperEnum {
    
        JANUARY("01","Jan"),
        FEBRUARY("02","Feb"),
        MARCH("03","Mar"),
        APRIL("04","Apr"),
        MAY("05","May"),
        JUNE("06","Jun"),
        JULY("07","Jul"),
        AUGUST("08","Aug"),
        SEPTEMBER("09","Sep"),
        OCTOBER("10","Oct"),
        NOVEMBER("11","Nov"),
        DECEMBER("12","Dec");
    
        private String month;
        private String shorthand;
        
        MonthMapperEnum(String month, String shorthand) {
            this.month = month;
            this.shorthand = shorthand;
        }
    
        // 根据month获取简称
        public static String getShortHand(String month){
            for(MonthMapperEnum enu:MonthMapperEnum.values()){
                if(enu.getMonth().equals(month)){
                    return enu.getShorthand();
                }
            }
            return null;
        }
        public String getMonth() {
            return month;
        }
        public String getShorthand() {
            return shorthand;
        }
    
    }

3、特点

1、枚举本质还是类,enum修饰类:"public enum  MonthMapperEnum "  默认是final的,不可被集成
2、构造函数默认为private的
3、绝对单例模式(使用反射实现的反序列化也无法创建多个实例)
4、

参考:http://hollischuang.gitee.io/tobetopjavaer/#/basics/java-basic/enum-usage

上一篇 下一篇

猜你喜欢

热点阅读