玩转Java之枚举

Java 枚举是一个特殊的类,一般表示一组常量,常用用法:

1.枚举值

public enum AnimalEnum {
    DOG,TIGER
}

 应用场景:

     1.1 内部类

              

public class EnumDemo {

    enum Color{
        RED,GREEN
    }

    public static void main(String[] args) {
        System.out.println(Color.RED);

       }

}

     1.2 switch语句

Color myColor  = Color.RED;
switch (myColor){
    case RED:
        System.out.println("红色");break;
    case GREEN:
        System.out.println("绿色");break;
}

2.单列模式

      

public enum Singleton {
    INSTANCE;

    public void find(){

    }

}

  之所以枚举可以用来实现单列模式,其原理

   每个枚举都是通过 Class 在内部实现的,且所有的枚举值都是 public static final 的。

   public enum singleton {

         public static final singleton INSTANCE =  new  singleton();

}

3.复杂枚举

public enum EventEnum {
    jiedan("jiedan","接单","1216"),
    quxiaodingdan("quxiaodingdan","取消订单","98");

    private String eventCode;//事件代码
    private String eventDes;//事件描述
    private String statusCode;//事件触发的状态码


    EventEnum(String eventCode,String eventDes,String statusCode){
         this.eventCode = eventCode;
         this.eventDes = eventDes;
         this.statusCode = statusCode;
    }


    public String getEventCode() {
        return eventCode;
    }

    public String getEventDes() {
        return eventDes;
    }

    public String getStatusCode() {
        return statusCode;
    }

    //枚举值查找
    public static EventEnum getByCode(String eventCode){
        for(EventEnum eventEnum : EventEnum.values()){
            if(eventEnum.getEventCode().equals(eventCode)){
                return eventEnum;
            }
        }
        return null;
    }

}

你可能感兴趣的:(JavaSE)