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     提供一个外部调用方法

 

巧妙的将枚举运用到设计中会很有用的

posted on 2017-09-30 17:40  飞客007  阅读(1141)  评论(0编辑  收藏  举报