从实战的角度重学Java01-枚举类的使用

接触一门编程语言时间越长,愈会发现有时候自己掌握的东西是真的少,平时的工作基本上被无穷无尽的crud所充满,基本的却不求甚解,编程的实力如同空中楼阁,脱离框架,基本上什么也不会。

  • 什么是枚举
枚举类型本质上就是一个类,其继承自java.lang.Enum类
  • 枚举常用方式
//不是key-value型的方式
public enum YesOrNo {
    YES(1),             //是有错误
    NO(0);             //否无错误
    public final int value;
    YesOrNo(int value){
        this.value = value;
    }
    public int getValue(){
        return value;
    }
}

//存在key-value的使用方式
public enum OrderStatusEnum {
    WAIT_PAY(10,"待付款"),     //待付款
    PAYING(20,"付款中"),       //付款中
    PAID(30,"已付款"),         //已支付
    PAID_FAILED(40,"付款失败"),//付款失败
    CANCELED(50,"已取消"),    //已取消
    CLOSED(60,"交易关闭");    //交易关闭
    public final int key;
    public final String value;
    OrderStatusEnum(int key,String value){
        this.key = key;
        this.value = value;
    }

    public static  String getName(int key){
        for(OrderStatusEnum status : OrderStatusEnum.values()){
            if(status.getKey() == key){
                return status.value;
            }
        }
        return null;
    }
    public int getKey(){
        return key;
    }
    public String getValue(){
        return value;
    }
}
  • 遍历方式
//不是key-value型的遍历方式
for(EnumClass e : EnumClass.values){
	System.out.println(e);
}

//举个栗子
for(YesOrNo e : YesOrNo.values()){
            System.out.println(e);
        }

你可能感兴趣的:(Jave)