枚举enum方法的使用

 一.什么是枚举


我们学习过单例模式,即一个类只有一个实例。而枚举其实就是多例,一个类有多个实例,但实例的个数不是无穷的,是有限个数的。例如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;
    }

    @Override
    public String toString() {
        return this.ErroreType+":"+code;
    }
}

 枚举类方法调用:

 //遍历枚举中的RIM故障
                for (RIMFaultEnum n:RIMFaultEnum.values()) {
                    //如果JRU报警数据中的故障码与RIM枚举类中的故障码相等,则存在此类故障,将RIM故障数+1
                    if (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 枚举

猜你喜欢

转载自blog.csdn.net/qq_39715000/article/details/126198148