• 使用枚举(emum)代替常量类


    原文:

    作者:逍遥不羁
    来源:CSDN
    原文:https://blog.csdn.net/javaloveiphone/article/details/52371706
    版权声明:本文为博主原创文章,转载请附上博文链接!

    package emum;
    
    /** 
     * @Description: 颜色枚举类,所有枚举类默认继承public abstract class Enum
     */
    public enum EnumColor {
        RED(1, "红色"), GREEN(2, "绿色"), BLANK(3, "白色"), YELLO(4, "黄色"), BLUE("蓝色"), BLACK("黑色");
    
        private int code;
        private String color;
    
        // 构造函数
        private EnumColor(int code, String color) {
            this.code = code;
            this.color = color;
        }
    
        private EnumColor(String color) {
            this.color = color;
        }
    
        // 枚举属性的getter方法
        public int getCode() {
            return code;
        }
    
        public String getColor() {
            return color;
        }
    
        // 重写toString()方法
        @Override
        public String toString() {
            return "[code:" + this.code + ",color:" + this.color + "]";
        }
    
        // 提供静态方法,通过code获取color的值
        public static String colorOf(int code) {
            // EnumColor.values()获取枚举所有实例对象,还有通过名称获取方式EnumColor.valueOf("RED")、EnumColor.valueOf(EnumColor.class,
            // "RED")
            // 遍历枚举所有实例对象
            for (EnumColor color : EnumColor.values()) {
                if (color.getCode() == code) {
                    return color.getColor();
                }
            }
            return null;
        }
    
        public static void main(String[] args) {
            // 通过静态方式直接获取枚举实例对象,打印实例对象自动调用toString()方法
            System.out.println(EnumColor.RED);
    
            // 获取实例对象之后,获取相关属性信息
            System.out.println(EnumColor.GREEN.getCode());
            System.out.println(EnumColor.GREEN.getColor());
    
            // 通过valueOf()方法获取枚举实例对象,并获取对象相关信息
            System.out.println(EnumColor.valueOf("BLANK").getCode());
            System.out.println(EnumColor.valueOf(EnumColor.class, "BLANK").getColor());
    
            // 通过自定义的静态方法colorOf(int code)获取color信息
            // YELLO(4,"黄色")
            System.out.println(EnumColor.colorOf(4));
    
        }
    
    }

     处理结果

  • 相关阅读:
    [研究笔记]SPFA加上SLF时判负环的条件
    hdu 1290
    hdu 2135
    hdu 1978 how many way
    华中区全国程序设计邀请赛1003
    华中区程序设计大赛1010
    华中程序设计邀请赛1007
    华中区全国设计邀请赛1009
    hdu 2114的补充
    华中区全国设计邀请赛1004
  • 原文地址:https://www.cnblogs.com/covet/p/10168513.html
Copyright © 2020-2023  润新知