码迷,mamicode.com
首页 > 编程语言 > 详细

Java 枚举(enum) 常见用法

时间:2018-02-26 13:34:33      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:pos   pre   hang   ecs   bre   bool   word   string   ret   

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

 

Java 枚举(enum) 常见用法

标签:pos   pre   hang   ecs   bre   bool   word   string   ret   

原文地址:https://www.cnblogs.com/gaomanito/p/8472356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!