Java枚举(ENUM)用法之常量


说明

Enum在Java1.5中引入的一种类型,它被用来将一组类似的值包含到一种类型当中,枚举类型的名称会被定义为独一无二的类型描述,在这一点上和常量的定义相似。使用常量定义一组值的缺点: 类型不安全。常量一般使用String或者int类型定义,程序可以传递任意的值。没有命名空间。引用常量时,只能以类的属性引用,而不是一个命名空间。 一致性差。常量被引用时,会在编译期间替换为真实的值。因此,当常量的值改变时,需要重新编译引用类,否则常量不生效。 枚举是一种特殊的类,它也可以实现接口,定义属性,定义方法。但是枚举对象不能在枚举外部进行实例化,因此它的构造方法不能说public和protected。JVM在运行期间会为每个枚举实例生成一个唯一标识。
标注:引用自百度文库
笔者本文主要使用枚举做接口统一返回ResultCode和ResultMsg

ResultCode.java

/**
* <p>Title: JdbcMode</p>
* <p>Description: 系统返回结果集代码</p>
* <p>Company: BIGBIGBU</p>
* @author    FANQIBU
* @date       2017年12月29日
*/
public enum ResultCode {
    /**未查到有关银行卡信息 */
     NOT_FIND(1000,"未查到有关银行卡信息 !"),
    /** 操作成功*/
    SUCCESS(1002,"OPERATION SUCCESS!"),
    /** 操作失败*/
    FAIL(-1002,"OPERATION FAIL!"),
    /** 系统异常*/
    EXCEPTION(-8888,"哎呀!系统开小差啦!"),

    /**登陆失败 */
    LOGIN_FAIL(-1015,"登陆失败!请检查用户名或密码是否正确!"),
    /** 未登陆*/
    NO_LOGIN(-1019,"您还没有登陆,请登录后重试!"),
    /** 缺少参数*/
    LOSE_NECESSARY_PARAMETERS(-1020,"缺少必要参数,请检查!"),
    /** 手机号格式不正确*/
    PHONE_FORMAT_ERROR(-1021,"手机号格式不正确,请检查!"),
    /** 手机号被占用*/
    PHONE_OCCUPY(-1022,"手机号已注册,请登陆!"),
    /** 验证码不正确*/
    VERIFICATION_CODE_ERROR(-1023,"验证码不正确或已失效!"),
    /** 原始密码错误*/
    ORIGINAL_PWD_ERROR(-1024,"原始密码错误,请检查!"),
    /** 图片验证码不正确*/
    IMAGE_CODE_ERROR(-1025,"图片验证码不正确或已失效!");
    private String mode;
    private int code;
    private ResultCode(int code,String mode) {
        this.code=code;
        this.mode = mode;
    }
    /**
    * <p>Title: getMode</p>
    * <p>Description: 获取描述</p>
    * @return
    */
    public String getMode() {
        return mode;
    }
    public void setMode(int code,String mode) {
        this.code=code;
        this.mode = mode;
    }
    /**
    * <p>Title: operation</p>
    * <p>Description: 获取描述</p>
    * @return
    */
    public String operation(){
        return this.mode;
    }
    /**
    * <p>Title: getCode</p>
    * <p>Description: 获取CODE</p>
    * @return
    */
    public int getCode() {
        return code;
    }
    public void setCode(int code) {
        this.code = code;
    }
    /**
    * <p>Title: getByValue</p>
    * <p>Description: 通过CODE获取标识</p>
    * @param code
    * @return
    */
    public static ResultCode getByValue(int code) {  
        for (ResultCode resultcode : values()) {  
            if (resultcode.getCode()==code) {  
                return resultcode;  
            }  
        }  
        return null;  
    }  
}
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页