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 。

 

posted on 2017-04-18 09:30  ..小树苗  阅读(1313)  评论(0编辑  收藏  举报

导航