博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
提高你的Java代码质量吧:使用构造函数协助描述枚举项
阅读量:6278 次
发布时间:2019-06-22

本文共 673 字,大约阅读时间需要 2 分钟。

一、分析 

一般来说,我们经常使用的枚举项只有一个属性,即排序号,其默认值是从0、1、2... ...。但是除了排序号外,枚举还有一个(或多个)属性 

二、场景 

比如,可以通过枚举构造函数声明业务值,定义可选项,添加属性,看如下代码 

 

enum Role{     Admin("管理员",new Lifetime(),new Scope());     User("普通用户",new Lifetime(),new Scope());      //中文描述     private String name;     //角色生命周期     private Lifetime lifeTime;     //权限范围     private Scope scope;      Role(String _name,Lifetime _lt,Scope _scope){         name = _name;         lifeTime = _lifeTime;         scope = _scope;     }     /**name,lifeTime,scope的get方法较简单,不再赘述*/ }

 

可以看书,这样一个描述可以使开发者对Admin、User两个常量有一个立体多维的认知,有名称、生命周期、还有范围,而且还可以在程序中方便地获取此类的属性。 

三、建议 

推荐大家在枚举定义中为每个枚举定义描述,特别是在大规模项目开发中,大量的常量项定义使用枚举项描述比在接口常量或类常量中增加注释的方式更友好得多,简洁的多。

转载地址:http://qdiva.baihongyu.com/

你可能感兴趣的文章
<转>云主机配置OpenStack使用spice的方法
查看>>
java jvm GC 各个区内存参数设置
查看>>
[使用帮助] PHPCMS V9内容模块PC标签调用说明
查看>>
关于FreeBSD的CVSROOT的配置
查看>>
基于RBAC权限管理
查看>>
基于Internet的软件工程策略
查看>>
数学公式的英语读法
查看>>
留德十年
查看>>
迷人的卡耐基说话术
查看>>
PHP导出table为xls出现乱码解决方法
查看>>
PHP问题 —— 丢失SESSION
查看>>
Java中Object类的equals()和hashCode()方法深入解析
查看>>
数据库
查看>>
Vue------第二天(计算属性、侦听器、绑定Class、绑定Style)
查看>>
dojo.mixin(混合进)、dojo.extend、dojo.declare
查看>>
Python 数据类型
查看>>
iOS--环信集成并修改头像和昵称(需要自己的服务器)
查看>>
PHP版微信权限验证配置,音频文件下载,FFmpeg转码,上传OSS和删除转存服务器本地文件...
查看>>
教程前言 - 回归宣言
查看>>
PHP 7.1是否支持操作符重载?
查看>>