当前位置: 首页 > 后端技术 > Java

这里详细介绍一下java关键字enum

时间:2023-04-01 20:56:00 Java

大家好,这里是Ketang。今天来说说枚举enmu。枚举在JDK1.5中引入了一种新类型。相信大家都不陌生。那么,具体有哪些用途呢?下面说说:1.定义常量在1.5之前,我们定义一个常量,通常使用final关键字。有了枚举,我们可以在枚举类中定义一类常量,方便查找,代码逻辑也更加清晰。如:publicenumErrorCodeEnum{CODE_ACCOUNT_ERROR,CODE_TOKEN_ERROR,CODE_PARAM_EMPTY,CODE_PARAM_ERROR,CODE_SUCCESS}找一类常量会很方便。2.枚举类的使用这是一种比较常用的方法。在枚举类中加入一些自己的方法,也可以重写枚举方法。这时候注意枚举是先定义的,然后最后一个枚举用分号和后面的分隔。代码如下:/***@authorketang*错误码枚举*/publicenumErrorCodeEnum{CODE_SUCCESS("1","success"),CODE_FAILED("0","failed"),CODE_ACCOUNT_ERROR("1001","账户错误"),CODE_TOKEN_ERROR("1002","token已过期"),CODE_PARAM_EMPTY("1003","所需参数为空"),CODE_PARAM_ERROR("1004","参数格式错误"),FILE_NOT_EXIST("1101","文件不存在"),//注意分号SYSTEM_UNKNOWN_ERROR("-1","系统繁忙,请稍后再试....");//成员变量privateStringcode;私有字符串描述;//构造方法ErrorCodeEnum(Stringcode,Stringdesc){this.code=code;这个.desc=desc;}//常用方法/****@paramcode*@return*/publicstaticErrorCodeEnumgetByCode(Stringcode){for(ErrorCodeEnumerrorCodeEnum:ErrorCodeEnum.values()){if(StringUtils.equals(errorCodeEnum.code,code)){返回errorCodeEnum;}}返回空值;}//getter方法/***属性codedesc的Getter方法。**@returndesc的属性值*/publicStringgetDesc(){returndesc;}//覆盖方法@OverridepublicStringtoString(){return"ErrorCodeEnum{"+"code='"+code+'\''+",desc='"+desc+'\''+'}';}}这样展开枚举类,逻辑会更清晰3.枚举类实现了接口所有的枚举都继承自java.lang.Enum类。由于Java不支持多重继承,枚举对象不能继承其他类,但可以实现接口。比如下面的代码:publicinterfaceErrorBase{voidprint();}publicenumErrorCodeEnumimplementsErrorBase{CODE_SUCCESS("1","success"),CODE_FAILED("0","failed"),CODE_ACCOUNT_ERROR("1001","AccountError"),CODE_TOKEN_ERROR("1002","tokenhasexpired"),CODE_PARAM_EMPTY("1003","所需参数为空"),CODE_PARAM_ERROR("1004","参数格式错误"),FILE_NOT_EXIST("1101","文件不存在"),//注意分号SYSTEM_UNKNOWN_ERROR("-1","系统繁忙,请稍后再试....");//成员变量privateStringcode;私有字符串描述;//构造方法ErrorCodeEnum(Stringcode,Stringdesc){this.code=code;这个.desc=desc;}//getter方法/***属性code的getter方法。**@return代码的属性值*/publicStringgetCode(){returnthis.code;}/***属性desc的Getter方法。**@returndesc的属性值*/publicStringgetDesc(){returndesc;}//接口端方法@Overridepublicvoidprint(){System.out.println(this.code+":"+this.desc);}}这是实现接口,还有一种方式是在接口中组织枚举4.接口组织枚举定义在接口中,与接口相关的枚举集合如下:publicinterfaceErrorBase{enumBaseErrorCodeimplementsFood{CODE_SUCCESS,CODE_FAILED}enumCommonErrorCodeimplementsFood{CODE_ACCOUNT_ERROR,CODE_TOKEN_ERROR,CODE_PARAM_EMPTY}}枚举的主要使用到这里,在switchcase判断中,也可以加入枚举作为条件。提示:开关中的条件也允许枚举。今天来说说枚举,这里是科堂,分享一下自己的所学和收获,欢迎大家交流。CSDN地址为:https://blog.csdn.net/kaneand...