文档章节

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

尾生
 尾生
发布于 2016/11/22 14:20
字数 406
阅读 39
收藏 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\
用户头像
不存在

 

© 著作权归作者所有

共有 人打赏支持
尾生
粉丝 15
博文 137
码字总数 54687
作品 0
杭州
程序员
C++ 跨平台多功能扩展库 - cpgf

cpgf 可为C++代码增加反射(元数据)、序列化、以及Luau和Python脚本绑定等功能,且不依赖任何外部工具。 cpgf 的目标是扩展C++语言,其中包含许多易于使用的功能,这些功能仅在其他更高级别...

wqking
09/17
0
0
Java开发人员需知的十大面向对象设计原则

面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序设计人员不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没...

飓风2000
2014/06/21
0
0
Effective Java 第三版——38. 使用接口模拟可扩展的枚举

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

M104
04/13
0
0
Java程序员应了解的10个面向对象设计原则

面向对象设计原则是 OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数 Java 程序员追逐像 Singleton、Decorator、Observer 这样的设计模式,而不重...

effort_fan
2012/04/09
0
0
Java Annotation 简介

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

村头细雨忆流年
08/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java -jar运行内存设置

java -Xms64m #JVM启动时的初始堆大小 -Xmx128m #最大堆大小 -Xmn64m #年轻代的大小,其余的空间是老年代 -XX:MaxMetaspaceSize=128m # -XX:CompressedClassSpaceSize=6...

李玉长
10分钟前
0
0
Spring | 手把手教你SSM最优雅的整合方式

HEY 本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。 MODULE 新建一个Maven工程。 不论你是什么工具,选这个就可以了,然后next,直至finis...

冯文议
33分钟前
0
0
RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
今天
1
0
麒麟AI首席科学家现世

8月31日,华为发布了新一代顶级人工智能手机芯片麒麟980,成为全球首款7nm工艺手机芯片,AI方面也实现飞跃,支持人脸识别、物体识别、物体检测、图像分割、智能翻译等。 虽然如今人人都在热议...

问题终结者
昨天
1
0
告警系统主脚本、告警系统配置文件、告警系统监控项目

告警系统主脚本 main.sh内容 #!/bin/bash#Written by aming.# 是否发送邮件的开关export send=1# 过滤ip地址export addr=`/sbin/ifconfig |grep -A1 "ens33: "|awk '/inet/ {pr...

芬野de博客
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部