zoukankan      html  css  js  c++  java
  • java枚举使用

    用法一:常量;

    public enum Color {  
      RED, GREEN, BLANK, YELLOW  
    }
        用法二:duswitch;


     enum Signal {
            GREEN, YELLOW, RED
        }
        public class TrafficLight {
            Signal color = Signal.RED;
            public void change() {
                switch (color) {
                case RED:
                    color = Signal.GREEN;
                    break;
                case YELLOW:
                    color = Signal.RED;
                    break;
                case GREEN:
                    color = Signal.YELLOW;
                    break;
                }
            }
        }
        用法三:向枚举中添加新方法;

    public enum Color {
            RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
            // 成员变量
            private String name;
            private int index;
            // 构造方法
            private Color(String name, int index) {
                this.name = name;
                this.index = index;
            }
            // 普通方法
            public static String getName(int index) {
                for (Color c : Color.values()) {
                    if (c.getIndex() == index) {
                        return c.name;
                    }
                }
                return null;
            }
            // get set 方法
            public String getName() {
                return name;
            }
            public void setName(String name) {
                this.name = name;
            }
            public int getIndex() {
                return index;
            }
            public void setIndex(int index) {
                this.index = index;
            }
        }
        用法四:覆盖枚举的方法;

    public class Test {
        public enum Color {
            RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
            // 成员变量
            private String name;
            private int index;
            // 构造方法
            private Color(String name, int index) {
                this.name = name;
                this.index = index;
            }
            // 覆盖方法
            @Override
            public String toString() {
                return this.index + "_" + this.name;
            }
        }
        public static void main(String[] args) {
            System.out.println(Color.RED.toString());
        }
    }
        用法五:实现接口;

    public interface Behaviour {
            void print();
            String getInfo();
        }
        public enum Color implements Behaviour {
            RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
            // 成员变量
            private String name;
            private int index;
            // 构造方法
            private Color(String name, int index) {
                this.name = name;
                this.index = index;
            }
            // 接口方法
            @Override
            public String getInfo() {
                return this.name;
            }
            // 接口方法
            @Override
            public void print() {
                System.out.println(this.index + ":" + this.name);
            }
        }
        用法六:使用接口组织枚举。

    public interface Food {
        enum Coffee implements Food {
          BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
       }
      enum Dessert implements Food {
          FRUIT, CAKE, GELATO
      }
    }

  • 相关阅读:
    面试常问题
    雷达无线电系列(五)拟合优度检验(matlab)
    LDAP轻量级目录访问协议总结(待完成)
    zipkin数据追踪(待完成)
    git多定制版本管理
    git单修改推送多分支(cherry-pick)
    git工作流及插件使用说明
    基金-股票-期权知识总结(待完成)
    java AESRSA加密解密样例
    分享一个统计文档中不同key的个数的python脚本
  • 原文地址:https://www.cnblogs.com/xianz666/p/13784051.html
Copyright © 2011-2022 走看看