美文网首页
java枚举类enum

java枚举类enum

作者: Geroge1226 | 来源:发表于2020-06-16 09:42 被阅读0次

    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

    相关文章

      网友评论

          本文标题:java枚举类enum

          本文链接:https://www.haomeiwen.com/subject/fpklxktx.html