zoukankan      html  css  js  c++  java
  • 使用枚举(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));
    
        }
    
    }

     处理结果

  • 相关阅读:
    GUI 监听事件 (两个按钮,实现同一个监听)
    GUI 监听事件
    GUI 练习
    GUI 之表格布局
    GUI 之边界布局
    GUI 之流布局
    [转帖]Linux 下解压 rar 文件
    Linux 启动、停止、重启jar包脚本
    关于linux下,ls vi等命令失效的解决方法(配置下环境变量出现问题)
    超好用的UnixLinux 命令技巧 大神为你详细解读
  • 原文地址:https://www.cnblogs.com/covet/p/10168513.html
Copyright © 2011-2022 走看看