素材巴巴 > 程序开发 >

枚举enum方法的使用

程序开发 2023-09-15 19:01:13

 一.什么是枚举


我们学习过单例模式,即一个类只有一个实例。而枚举其实就是多例,一个类有多个实例,但实例的个数不是无穷的,是有限个数的。例如word文档的对齐方式有几种:左对齐、居中对齐、右对齐。开车的方向有几种:前、后、左、右!我们称呼枚举类中实例为枚举项!一般一个枚举类的枚举项的个数不应该太多,如果一个枚举类有30个枚举项就太多了!
 

二.定义枚举类型


注意,定义枚举类的关键字是enum,而不是Enum,所有关键字都是小写的!
其中FRONT、BEHIND、LEFT、RIGHT都是枚举项,它们都是本类的实例,本类一共就只有四个实例对象。
在定义枚举项时,多个枚举项之间使用逗号分隔,最后一个枚举项后需要给出分号!但如果枚举类中只有枚举项(没有构造器、方法、实例变量),那么可以省略分号!建议不要省略分号!
不能使用new来创建枚举类的对象,因为枚举类中的实例就是类中的枚举项,所以在类外只能使用类名.枚举项。
 

枚举类内容定义:

示例一:

public enum RadioFaultEnum {/*** * example——  ERRORE:  17.02*/ERRORE1702("ERRORE",17.02 ),ERRORE1703("ERRORE",17.03 ),ERRORE1704("ERRORE",17.04 ),ERRORE1705("ERRORE",17.05 ),ERRORE1706("ERRORE",17.06 ),ERRORE1707("ERRORE",17.07 ),ERRORE1708("ERRORE",17.08 ),ERRORE1709("ERRORE",17.09 ),ERRORE1710("ERRORE",17.10 ),ERRORE1711("ERRORE",17.11 ),ERRORE1712("ERRORE",17.12 ),ERRORE1713("ERRORE",17.13 ),ERRORE1714("ERRORE",17.14 ),ERRORE1715("ERRORE",17.15 ),ERRORE1716("ERRORE",17.16 ),ERRORE1717("ERRORE",17.17 ),ERRORE1718("ERRORE",17.18 ),ERRORE1719("ERRORE",17.19 ),ERRORE1720("ERRORE",17.20 ),ERRORE1721("ERRORE",17.21 ),ERRORE1722("ERRORE",17.22 ),ERRORE1723("ERRORE",17.23 ),ERRORE1724("ERRORE",17.24 ),ERRORE1725("ERRORE",17.25 ),ERRORE1726("ERRORE",17.26 ),ERRORE1727("ERRORE",17.27 ),ERRORE1728("ERRORE",17.28 ),ERRORE1729("ERRORE",17.29 ),ERRORE1730("ERRORE",17.30 ),ERRORE1731("ERRORE",17.31 ),ERRORE1732("ERRORE",17.32 ),ERRORE1733("ERRORE",17.33 );private final String ErroreType;/*** 报警消息中的故障码*/private final double code;RadioFaultEnum(String ErroreType, double code) {this.ErroreType = ErroreType;this.code = code;}public String getErroreType() {return ErroreType;}public double getCode() {return code;}@Overridepublic String toString() {return this.ErroreType+":"+code;}
 }
 

 枚举类方法调用:

 //遍历枚举中的RIM故障for (RIMFaultEnum n:RIMFaultEnum.values()) {//如果JRU报警数据中的故障码与RIM枚举类中的故障码相等,则存在此类故障,将RIM故障数+1if (offlineJruAlarmData.getFaultCode() == String.valueOf(n.getCode())){existRIMFault ++;}//只要存在1条RIM故障以上,就证明有报警数据,将JRU数据标志位,置为有报警数据2,并结束循环比对,否则继续遍历if (existRIMFault > 0 ){existJruData = 2;break;}else{continue;}

示例二:

 内容定义:

 调用方法:

 

--------------------------------------------------------以下无正文------------------------------------------------------

注:仅供学习,记录问题和参考,共勉!

参考文章:

1、枚举(enum)_ChampionDragon的博客-CSDN博客_枚举

2、枚举ENUM的tostring() valueof()name()和values()用法_bingguang1993的博客-CSDN博客_枚举的name和value

 3、Java 枚举(1): 详解7种常见的用法_CodingALife的博客-CSDN博客_java 枚举


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。