接触一门编程语言时间越长,愈会发现有时候自己掌握的东西是真的少,平时的工作基本上被无穷无尽的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);
}