java中的枚举类型的使用,枚举用法java

  java中的枚举类型的使用,枚举用法java

  00-1010什么是枚举,为什么需要枚举类来枚举类的定义和使用?

  00-1010最近写一个新项目!有很多数据字典常量需要定义和使用,我们顺便记录一下。什么是枚举类?也就是说,它是一个用enum修饰的特殊Java类。枚举是class,底层是继承java.lang.Enum类的实体类。使用enum可以很容易的定义数据常量,方便我们使用,清晰明了。

  00-1010这里有个例子。

  1)为了类型安全,在枚举类之前,通常使用静态常数来表示类。例如,性别的表示:

  public static final int WOMAN=0;public static final int MAN=1;这个性别定义实际上是一个整数数据类型。首先,这些变量可以用于加法和减法。当然,我们很少这样做。其次,意思不明确。我们调试的时候,最初输出“male”给,结果是1。所以一定要找前面0的意思,尤其是看别人代码的时候。看不懂,定义枚举类并在课上详细讲解,让你清楚的知道意思。

  2)代码更优雅

  在较大的项目中,可以使用数百个静态常量。如果都写在一个文件类里,容易造成命名混乱,程序难读。

  3)枚举类可以帮助我们定义需要的类型。

  枚举便于记忆和使用,相当于一个接口。使用时,只需要封装内部数据类型,限制数据字段即可。另外,对于不同的枚举变量可以调用不同的处理方法(这可以通过实现枚举类的抽象方法来实现)。

  00-1010我们来定义一个测试题的枚举类。

  /** * 试题类型枚举类;0 填空题、1 判断题、2 单选题、3 多选题、4 简答题、5 问答题、6 论述题、7 计算题、8 画图题、9 其他题* @ author lyy * @ date 2022/05/23 */public enum TopicTypeEnum {/* *填空题*/FILL_IN_THE_BLANK(0,’填空题), /** 判断题*/法官(1,判断题), /** 单选题*/SINGLE_CHOICE(2,’单选题), /** 多选题*/多项选择(3,多选题), /** 简答题*/BRIEF _答案(4,简答题), /** 问答题*/问题和答案(5,问答题), /** 论述题*/讨论(6,论述题), /** 计算题*/COMPUTE(7,计算题), /** 画图题*///最后一个类型必须要用分号结束DRAW_PICTURE(9,’画图题);/** 值*/私有最终整数代码;/** 名称*/私有最终字符串名称;公共静态主题通过代码获取(整数代码){ if(null==code){ return null;} for(TopicTypeEnum状态: TopicTypeEnum。values()){ if(状态。获取代码().intValue()==code.intValue()) {返回状态;} }返回null}公共静态topitypeenum get byname(字符串名称){ for(topitypeenum状态: topitypeenum。values()){ if(状态。getname().等于(姓名)){返回状态;} }返回null}公共静态ListNameCode getname code(){ return stream。(topictypeenum的)。values()).映射(项目-新名称代码(项目。get code()、item.getName()).收藏(收藏者。to list());} TopicTypeEnum(整数代码,字符串名称){ this.code=codethis.name=name}公共整数getCode() {返回代码;} public String getName(){ return name;}/* * * * @作者lyy * @日期2022/06/14 * @返回枚举对象数组*/public static ListMapString,Object toList() { ListMapString,Object list=new ArrayList();对于(topicypeenum项目: TopicTypeEnum。values()){ MapString,Object map=new HashMap();map.put(code ,item。get code());map.put(name ,item。getname());list.add(地图);}返回列表;}枚举类的常用方法

  valueOf():返回当前枚举类的名字属性,如果没有,则抛出新的Java。郎。illegalargumentexception()。具体可以查看java.lang.Enum源码值():返回包括所有枚举变量的数组toString(),name():返回当前枚举类变量的名字属性序数():枚举类会给所有的枚举变量一个默认的次序,该次序从0开始,是根据我们定义的次序来排序的。而序数()方法就是获取这个次序(或者说下标)。compareTo():返回两个次序相减后的结果。到此这篇关于一文搞懂爪哇项目中枚举的定义与使用的文章就介绍到这了,更多相关爪哇枚举内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: