zoukankan      html  css  js  c++  java
  • Java 枚举(enum) 常见用法

    JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。

    用法一:常量.

    在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

    public enum Color {
         RED, GREEN, BLANK, YELLOW 
    }

    简单使用
    public class B {
        public static void main(String[] args) {
            System.out.println( isRed( Color.BLANK ) ) ;  //结果: false
            System.out.println( isRed( Color.RED ) ) ;    //结果: true
        }
     
        static boolean isRed( Color color ){
            if ( Color.RED.equals( color )) {
                return true ;
            }
            return false ;
        }
      }
     
    或者 switch 的使用

      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;  

            }  

        }  

    用法二:覆盖枚举的方法

    下面给出一个toString()方法覆盖的例子。

    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;  
        }  
    }
    用法
    Color.RED.toString(); //打印1_红色

    同样的,也可以是一个参数
     
    enum ExecStatus {

           WAIT('0'), PROGRESS('1'), SUCCESS('2'), ERROR('3');
        private char state;

        private ExecStatus(char state) {
          this.state = state;
        }

        public char getValue() {
          return state;
        }

        @Override
        public String toString() {
          return String.valueOf(state);
        }
     }

    用法
    ExecStatus.WAIT.getValue() //打印0
  • 相关阅读:
    Easy Code 自定义的模板
    LINUX批量修改文件名
    解决FTP登录太慢
    linux 命令
    Linux rename命令
    MySQL字段重复出现多少次
    kafka安装
    Redis 5.0简单安装
    Tomcat常用配置
    jenkins安装和简单配置
  • 原文地址:https://www.cnblogs.com/gaomanito/p/8472356.html
Copyright © 2011-2022 走看看