文档章节

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

尾生
 尾生
发布于 2016/11/22 14:20
字数 406
阅读 42
收藏 1

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

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

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

  • 以后更改值很容易。

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

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

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

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

 

© 著作权归作者所有

共有 人打赏支持
尾生
粉丝 16
博文 145
码字总数 60686
作品 0
杭州
程序员
私信 提问
Effective Java 第三版——38. 使用接口模拟可扩展的枚举

Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8...

M104
2018/04/13
0
0
Java Annotation 简介

本文介绍了Java Annotation相关知识并附有相关的Demo。内容仅供参考使用,有不足之处请及时指出,也欢迎大家交流探讨。 Java Annotation 概述 Java Annotation翻译为Java 注解,注解也称为元...

村头细雨忆流年
2018/08/28
0
0
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
2018/08/08
0
0
Java中枚举的线程安全性及序列化问题

来源:微信公众号 ,原创: Hollis --枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字...

Java填坑之路
2018/08/02
0
0
Java高级部分笔记-------Java5.0的新特性

静态导入 1.1 JDK 1.5 增加的静态导入语法用于导入类的某个静态属性或方法。使用静态导入可以简化程序对类静态属性和方法的调用。 1.2 语法:Import static 包名.类名.静态属性|静态方法|* ...

查封炉台
2014/04/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

外教比较

确定收费的模式 确定授课的模式 确定教学的方式-用什么样的方式能让人更快更好的学会 确定核心竞争力-比如我们的师资是牛津大学的 英语流利说 收费的模式-报特色课程,比如训练营之类的,其实...

V字仇杀
16分钟前
1
0
上下文无关文法介绍

上下文无关文法 上下文无关文法是用来描述程序语言的一种表达方式,通过简单的符号描述语言的集合。正如我们所知道,一个程序即为一个句子(字符串),语言就是所有句子的集合。上下文无关文...

陶小陶
25分钟前
3
0
eggjs与sequelize简单demo

参考 egg 官方文档 安装 // 依赖npm install --save egg-sequelize mysql2// ts 类型npm install --save @types/sequelize 插件,config/plugin.ts import { EggPlugin } from 'egg';......

Geeyu
今天
1
0
看过上百部片子的这个人教你视频标签算法解析

本文由云+社区发表 随着内容时代的来临,多媒体信息,特别是视频信息的分析和理解需求,如图像分类、图像打标签、视频处理等等,变得越发迫切。目前图像分类已经发展了多年,在一定条件下已经...

腾讯云加社区
今天
4
0
2. 红黑树

定义:红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树(Binary Search Tree)。 要理解红黑树,先要了解什么是二叉查找树。在上一章中,我们学习了什么是二叉树,以及二叉树...

火拳-艾斯
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部