java枚举运用,易于扩展和使用
博客专区 > 尾生 的博客 > 博客详情
java枚举运用,易于扩展和使用
尾生 发表于1年前
java枚举运用,易于扩展和使用
  • 发表于 1年前
  • 阅读 38
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 一个简单运用枚举的类: 根据传入值区分,该类型是否存在;

没有什么情况下,必须使用枚举,枚举类型只是起到用于声明一组命名的常数;

那么我们什么时候推荐使用枚举呢;

  • 可减少由数字转置或键入错误引起的错误。

  • 以后更改值很容易。

  • 使代码更易读,这意味着代码中发生错误的概率降低。

  • 确保向前兼容性。使用枚举可减少将来有人更改与成员名称对应的值时代码出错的概率。

枚举类: 应用图片路径类型

/** <p class="detail">
 * 功能:应用图片路径类型
 * </p>
 * @ClassName: PicAppType 
 * @version V1.0  
 * @date 2016年4月23日 
 * @author damowang 
 */
public enum PicAppType {

    USER_HEAD("\\USER\\HEAD\\", "用户头像"),
    ARTICLE_ICON("\\ARTICLE\\TEXT\\", "资讯图片");

    private String code;

    private String detail;

    PicAppType(String code, String detail) {
        this.code = code;
        this.detail = detail;
    }
    
    /**
     * <p class="detail">
     * 功能:快捷迭代验证是否code存在
     * </p>
     * @author damowang 
     * @param type
     * @return 
     * @throws
     */
    public static PicAppType contains(String type){  
        for(PicAppType typeEnum : PicAppType.values()){  
            if(typeEnum.name().equals(type)){  
                return typeEnum;  
            }  
        }  
        return null;  
    } 
    
    /**
     * @return code
     */
    
    public String getCode() {
        return code;
    }

    /**
     * @param code
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * @return detail
     */

    public String getDetail() {
        return detail;
    }

    /**
     * @param detail
     */
    public void setDetail(String detail) {
        this.detail = detail;
    }

}

应用块: 使用的地方


    	String picTypeName = reqeust.getParameter("uploadType");
    	if(StringUtils.isBlank(picTypeName)){
    		temp.setStatus(0);
		   	 temp.setShowMessage("请传入图片类型!");
		   	 renderJson(temp);
		   	 return;
    	}
    	
    	PicAppType picType =PicAppType.contains(picTypeName);

        if (null == picType) {
            temp.setStatus(0);
		   	 temp.setShowMessage("传入图片类型有误!");
		   	 renderJson(temp);
		   	 return;
        }

public class EnumTest {
	public static void main(String[] args) {
		
		PicAppType tempEnum =PicAppType.contains("USER_HEAD");
		System.out.println(tempEnum.getCode());
		
		System.out.println(tempEnum.getDetail());
		
		tempEnum =PicAppType.contains("USER_HEAD1");
		if(tempEnum==null){
			System.out.println("不存在");
			return;
		}
		
		System.out.println("我执行了...");
	}
}

执行结果:

\USER\HEAD\
用户头像
不存在

 

标签: Java Java EE
共有 人打赏支持
粉丝 15
博文 123
码字总数 52010
×
尾生
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: