java枚举运用,易于扩展和使用

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

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

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

  • 以后更改值很容易。

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

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

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

/** <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\
用户头像
不存在

 

转载于:https://my.oschina.net/java1314/blog/792115

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值