在以前的开发中,一直没有在实际中用过枚举,但是最近再给国安创客做的后台管理的时候,发现架构师所有的需要服用的变量都做成了枚举,开始也没有去想为什么要用,后来慢慢的发现他的好处,当然在我说为什么用之前,我们先看看怎么用。

什么是枚举

枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组。

怎么用

一般形式

写枚举类型的时候要注意用逗号分隔开,最后要加上“;”,

public enum General {Sunday,Monday;
}

括号赋值

/*** 通过括号赋值,必须有一个参构造器和一个属性和方法,否则编译出错* 赋值必须要不都复制,要不都不赋值,不能一部分赋值,一部分不赋值。* @author mengh**/
public enum Gender {MAN("MAN"),WONMEN("WOMEN");private final String value;Gender(String value){this.value = value;}public String getValue(){return value;}
}
    @Testpublic void test02() {System.out.println(Gender.MAN);}

抽象方法

public enum OrderState {CANCEL{public String getName(){return "已取消";}},WAITCONFIRM{public String getName(){return "待审核";}};public abstract String getName();}
    @Testpublic void test03(){System.out.println(OrderState.WAITCONFIRM.getName());}

实例

下面的例子是我们项目中的运用,例如服务方法调用成功,返回DATA_SUCCESS,如果失败,返回DATA_FAIL,这样,就不用我们再每个方法里边都写一个,服务调用成功,服务调用失败。

public enum SysServiceEnum {DATA_SUCCESS("0","服务调用成功"),DATA_FAIL("-1","服务调用异常");private SysServiceEnum(String code, String comment) {this.code = code;this.comment = comment;}private String code;private String comment;public static String getSysEnumValue(String code) {for (SysServiceEnum ule : SysServiceEnum.values()) {if (ule.getCode().equals(code)){return ule.getComment();}}return "";}public String getCode() {return this.code;}public void setCode(String code) {this.code = code;}public String getComment() {return this.comment;}public void setComment(String comment) {this.comment = comment;}
}

为什么要用

给大家举个例子,很典型,例如我们根据1-7来判断现在是星期几,加入传入的参数是int类型,那么就有可能传入0,8,9等,那么我们就需要做一些额外的处理,但是如果我们规定了使用枚举类,那么枚举类里边就那么几种,使用起来也安全,而且这些接口对于别人来说看起来也是非常的束缚,要不然谁知道你的星期一是1呢。

java基础--枚举的运用相关推荐

  1. Java基础——枚举 (详解)

    什么是枚举 Java中的枚举是一种类型,顾名思义:就是一个一个列举出来.所以它一般都是表示一个有限的集合类型,它是一种类型,在维基百科中给出的定义是: 在数学和计算机科学理论中,一个集的枚举是列出某些 ...

  2. java基础——枚举

    2019独角兽企业重金招聘Python工程师标准>>> 枚举就是一组具名的值的有限集合,可以作为常规组件使用. 1.枚举关键字为enum,声明枚举的类自动继承java.lang.En ...

  3. Java基础——枚举类的使用教程

    目录 枚举类的理解 自定义枚举类 代码实现: Enum关键字 使用enum定义枚举类 代码实现: Enum类中常用方法 枚举类的理解 枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允 ...

  4. java基础-枚举和注解

    枚举类的使用 如何自定义枚举类 如何使用关键字enum定义枚举类 Enum类的主要方法 实现接口的枚举类 类的对象只有有限个,确定的.举例如下: 星期:Monday(星期一)........Sunda ...

  5. java基础-02数据类型

    基本类型 整数 byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 最小值是 -128(-2^7) 最大值是 127(2^7-1) 默认值是 0 byte 类型用在大型数组中节约空间 ...

  6. Java基础笔记 – 枚举类型的使用介绍和静态导入

    Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...

  7. Java基础之面向对象的概念 继承---组合----枚举类

    Java基础之面向对象的概念 继承---组合----枚举类 本章作为面向对象概念的最后一篇,但是作为一名java程序员在面向对象的这条路上还很长. 一.继承与组合简介 继承是实现类重用的重要手段,但是 ...

  8. 一文带你深入理解【Java基础】· 枚举类

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  9. Java基础学习——第十章 枚举类注解

    Java基础学习--第十章 枚举类&注解 一.枚举类(enum) 1. 枚举类的概念 枚举类:类的对象只有有限个,确定的 线程状态:创建.就绪.运行.阻塞.死亡 当需要定义一组常量时,强烈建议 ...

  10. 夯实Java基础系列14:深入理解Java枚举类

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

最新文章

  1. Android增量更新——bsdiffbspatch
  2. Android网页字体缩放控件,Zoom Text Only插件下载-chrome网页字体缩放插件Zoom Text Only下载v1.5.4 官方版-西西软件下载...
  3. 机器学习(非线性回归)
  4. Ps 初学者教程「68」如何创建海报?
  5. 服务器宕机指的是什么意思?
  6. ubuntu 14.04全攻略
  7. ValueError: A 0.7-series setuptools cannot be installed with distribute.
  8. 如何在Linux上创建手册页
  9. 多用途互联网邮件扩展--MIME类型简介
  10. 自动驾驶专题介绍 ———— 动力传动系统
  11. Linux xorg 调整分辨率,编写xorg.conf解决Ubuntu分辨率不可调的问题
  12. 测试用例(功能用例)——资产盘点
  13. vuejs webpack模板里import路径中@符号是什么意思以及不能自动刷新解决方法
  14. arcgis怎么关联excel表_ArcGIS如何将表连接到空间数据上
  15. java word 模板_java根据模板生成word文件
  16. 51单片机 ENC28J60 TCP/IP通信
  17. H3C无线接入控制器特点
  18. 《网络营销》期末考试重点试题
  19. 数据分析之scipy处理图片
  20. PointTransformer编译pointops_cuda报错fatal error: THC/THC.h: No such file or directory

热门文章

  1. Python 绘制正多边形
  2. NOJ [1184] Elaine's Queue
  3. 带你读论文系列之计算机视觉--Inception V4
  4. ​​​​尚硅谷—尚医通—前台用户系统—预约挂号—预约下单功能实现(155-160)
  5. spatial transformer network (STN)
  6. 系统架构设计笔记(80)—— .NET
  7. oce专项认证 oracle_Oracle Certification Program | Oracle 中国
  8. python如何进行数据挖掘_如何使用python实现文本数据挖掘?
  9. standard fifo和fwft fifo的区别
  10. 解决svn报错 : The pristine text with checksum 'e006b124faa4ddf60d8773d1855e6bfa56145874' was not fou