java枚举类型
/** * 枚举,加密算法类型 * */ public enum SecretType { MD5("MD5","MD5算法:单向算法,只有加密,没有解密"), DES("DES","DES算法:已经被破解,对称加密"), AES("AES","AES算法:已破解,但破解有很大的技术难度,对称加密算法,较安全"); private String desc; private String key; SecretType(String key,String desc){ this.key = key; this.desc = desc; } /** * 根据key返回枚举 * @param key * @return */ public static SecretType getType(String key){ for(SecretType type:values()){ if(type.key.equals(key)){ return type; } } return null; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } public String getKey() { return key; } public void setKey(String key) { this.key = key; } }
使用:
SecretType.MD5
SecretType.MD5.getKey()
阿里巴巴Java开发手册(正式版) 中命名规范如下:
14. 【参考】枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。
说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有。
正例:枚举名字: DealStatusEnum, 成员名称: SUCCESS / UNKOWN _ REASON 。