• java_枚举


    1.历史:


      枚举是JDK1.5版本新增的特性(泛型、For-each等如今被广泛应用的特性也是由JDK1.5时所新增的),另外到了JDK1.6后switch语句支持枚举类型。

    2.枚举的语法解析:


      1.最最最简单版

    1
    2
    3
    public enum ColorEnum {
        RED,BLUE,GREEN
    }

    2.现在我们在枚举类中增加自己的字段以及一些辅助方法,代码如下:

    复制代码
    public enum ColorEnum {
        RED("red","红色"),GREEN("green","绿色"),BLUE("blue","蓝色");
        //防止字段值被修改,增加的字段也统一final表示常量
        private final String key;
        private final String value;
        
        private ColorEnum(String key,String value){
            this.key = key;
            this.value = value;
        }
        //根据key获取枚举
        public static ColorEnum getEnumByKey(String key){
            if(null == key){
                return null;
            }
            for(ColorEnum temp:ColorEnum.values()){
                if(temp.getKey().equals(key)){
                    return temp;
                }
            }
            return null;
        }
        public String getKey() {
            return key;
        }
        public String getValue() {
            return value;
        }
    }

    3.枚举的好处以及与常量类的区别


      1)枚举型可以直接与数据库打交道,我通常使用varchar类型存储,对应的是枚举的常量名。(数据库中好像也有枚举类型,不过也没用过)

      2) switch语句支持枚举型,当switch使用int、String类型时,由于值的不稳定性往往会有越界的现象,对于这个的处理往往只能通过if条件筛选以及default模块来处理。而使用枚举型后,在编译期间限定类型,不允许发生越界的情况

      3) 当你使用常量类时,往往得通过equals去判断两者是否相等,使用枚举的话由于常量值地址唯一,可以用==直接对比,性能会有提高

      4) 常量类编译时,是直接把常量的值编译到类的二进制代码里,常量的值在升级中变化后,需要重新编译引用常量的类,因为里面存的是旧值。枚举类编译时,没有把常量值编译到代码里,即使常量的值发生变化,也不会影响引用常量的类。

      5)枚举类编译后默认为final class,不允许继承可防止被子类修改。常量类可被继承修改、增加字段等,容易导致父类的不兼容。

    心得感悟

    人生就像一杯没有加糖的咖啡,喝起来是苦涩的,回味起来却有久久的余香;人生就是一场旅行,不在乎目的地,在乎的是沿途的风景以及看风景的心情;坚持自己的梦想,记住,这一秒不放弃,下一秒就会有希望。

  • 相关阅读:
    halconunion2将两个区域合并成一个区域
    halcon开运算(先腐蚀再膨胀)
    halcon闭运算(先膨胀后腐蚀)
    halconcomplement区域的反选
    halconunion1将所有区域合并成一个区域
    halcongray_dilation_shape图像膨胀
    halcongray_dilation_rect图像膨胀
    halconremove_obj在区域集中移除某个区域
    5分钟,带你创建一个智能电梯检测器模型
    Bug改不完,迭代总延期,咋办?
  • 原文地址:https://www.cnblogs.com/dxgld/p/13586039.html
Copyright © 2020-2023  润新知