枚举类型是一种比较特殊的类型,从实用和定义上都能体现出来,这里推荐一个很好的博文,全面的介绍了枚举类型,地址如下:
https://blog.csdn.net/javazejian/article/details/71333103,强烈推荐。
这里我仅仅总结下,自己使用过枚举的场景:
1、参考网上的教程,写过一个电商项目,这里把订单状态设置成枚举类型,从而在使用到订单状态的地方,都能通过枚举类型进行调用,使代码清晰,易懂:
public enum OrderStatusEnum{//定义一个枚举类型
CANCELED(0,"已取消"),//可以看作枚举的实例,调用是使用OrderStatusEnum.CANCELED
//调用方法是:OrderStatusEnum.CANCELED.getCode();
NO_PAY(10,"未支付"),
PAID(20,"已付款"),
SHIPPED(40,"已发货"),
ORDER_SUCCESS(50,"订单完成"),
ORDER_CLOSE(60,"订单关闭"); //枚举中有其他方法或者成员变量时,这里一定要用分号隔开
OrderStatusEnum(int code,String value){//枚举的构造函数,私有的
this.code = code;
this.value = value;
}
private String value;//枚举的成员变量,对该订单状态的描述
private int code;//该订单状态的状态码
public String getValue() {//枚举的方法
return value;
}
public int getCode() {
return code;
}
public static OrderStatusEnum codeOf(int code){
for(OrderStatusEnum orderStatusEnum : values()){
if(orderStatusEnum.getCode() == code){
return orderStatusEnum;
}
}
throw new RuntimeException("没有找到对应的枚举");
}
}
2、使用枚举实现单例设计模式
参见推荐博文中的描述。