java常量枚举法
不要再在纠结什么底层,什么牛逼技术,学会思考,改变思维模式
一、枚举的地位
在你平时的编码当中你会发现很多设计模式里都少不了类型的身影,这样也就造就了枚举不可获缺的地位(类型)
二、常量
我们常常用常量 来定义一些错误码等
如果是常量你的代码可能是这样
1 public final static class SysMsg{ 2 public static final STATUS_SUCCESS_CODE="0"; 3 public static final STATUS_FAILURE_CODE="-1"; 4 public static fianl SYS_SUCCESS_CODE="1000"; 5 public static final SYS_SIGN_CODE="1001"; 6 public static fianl SYS_SING_MSG="非法请求"; 7 }
使用枚举的话是这样的
1 public enum EnumT{ 2 SUCCESS(1,"操作成功"),FAILURE(1,"操作失败"),FAILURE(4,"签名失败"); 3 private String name; 4 private int index; 5 private EnumT(String name,int index){ 6 this.name=name; 7 this.index=index; 8 } 9 public String getName(int index){ 10 for(EnumT c:EnumT.values()){ 11 if(c.getIndex==index){ 12 return c.name; 13 } 14 } 15 return nuljul; 16 } 17 public String getName(){ 18 return name; 19 } 20 21 }
三、创建字符串常量枚举
public enum EnumTask{ INITIAL("初始化"),PROCESSING("处理中"),PROCESSED("处理完成"),FAILURE("处理失败"); private String status; EnumTask(String status){ this.status=status; } public String getStatus(){ return status; } }
四、反向查找法
相信大家看到上面的例子已经有所见解
反向查找思路 定义一个map 静态代码块中利用遍历values() 将值作为键设置map 提供一个外部调用方法
巧妙的将枚举运用到设计中会很有用的