zoukankan      html  css  js  c++  java
  • 提高你的Java代码质量吧:使用构造函数协助描述枚举项

    一、分析 

    一般来说,我们经常使用的枚举项只有一个属性,即排序号,其默认值是从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两个常量有一个立体多维的认知,有名称、生命周期、还有范围,而且还可以在程序中方便地获取此类的属性。 

    三、建议 

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

  • 相关阅读:
    数独
    canvas生成图片并保存到本地文件夹主要代码
    2048未完成
    Page
    IDEA新建MAVEN项目时速度缓慢
    Bug 记录(持续更新。。。)
    RecyclerBaseAdapter 和 OnItemClickListener
    AutoLoadRecyclerView
    BaseActionBarActivity
    Volley + OkHttp3 + Gson 组合的简单网络请求封装
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3315296.html
Copyright © 2011-2022 走看看