zoukankan      html  css  js  c++  java
  • 使用枚举定义常量更好点儿

    大家好,欢迎来到雄雄的小课堂,昨天给大家分享的是“java中的Queue队列的用法示例”,今天,分享的主题是“java中,推荐使用枚举定义常量”。

    前言:常量,相信大家多不会陌生,常量值一般是在项目中固定不变的。在项目中,我们经常会用到各种各样的常量,比如性别只有两个值,男或者女,就可以定义两个常量;或者季节春夏秋冬也可以定义为常量。通常我们在java中定义常量都这样写:final String SPRING ="春";今天,我们不使用这种方式,我们使用枚举的方式来定义常量,看看相比之下,枚举定义常量有哪些优点呢?

    枚举定义常量:

    现在我们使用枚举来定义两个常量,代码如下:

    static enum SEX{
    
                  MAN,WOMEN;
    
           }

    这是一个简单的枚举常量命名,简单又清晰。

    01

    枚举常量定义时不必赋值

    枚举常量可以不初识赋值,而普通定义的常量必须赋值,即使这个值无意义也得赋。否则编译将无法通过,如下:

    给常量MAN赋值,问题解决。

    02

    枚举常量属于稳态型

    比如有人让我们来描述一下男生或者女生都是什么样的,我们使用一般常量这么写:

    //定义常量男和女
      static final int MAN = 0;
      static final int WOMEN = 1;
    
    public static void testChang(int s){
        //先检验条件
        if(s>=0&&s<=1){
          switch (s) {
          case MAN:
            System.out.println(MAN+"是帅帅的!");
            break;
          case WOMEN:
            System.out.println(MAN+"是美美的!");
            break;
          }
        }
        
      }

    可以看得出来,必须先要检验条件,如果当s的值不是0或者1,肯定不能正常输出,如果常量的值很庞大,那么我们校验的时候必然麻烦。但是假如使用枚举,就可以完全避免这种情况,代码如下:

    public static void main(String[] args) {
        testChang(SEX.MAN);
      } 
      //常量的用法
      public static void testChang(SEX s){
        //先检验条件
          switch (s) {
          case MAN:
            System.out.println(MAN+"是帅帅的!");
            break;
          case WOMEN:
            System.out.println(MAN+"是美美的!");
            break;
          }
        
      }

    很明显,限定了参数类型是SEX这个枚举类型,你传别的类型,不好意思,不可以的!在编译期间就避免可能存在的问题出现。

    案例参考:《编写高质量代码 改善java程序的151个建议》

    作者:秦少波

    往期精彩

    java中的Queue队列的用法

    2020-11-28

    面试官:你来说说Servlet的生命周期是什么?

    2020-11-27

    神奇,PPT还能实现刮奖功能?还能刮奖!

    2020-11-26

    java中部的分页实现(二)

    2020-11-25

    javaweb中实现分页,持续更新……

    2020-11-24

    点分享

    点点赞

    点在看

  • 相关阅读:
    python注释方法以及编码问题
    python数据类型和变量
    JavaScript必须了解的知识点总结。
    javaScript语法总结
    美图WEB开放平台环境配置
    变点问题的统计推新及其在全融中的应用 谭常春
    Structural breaks in time series
    多种单位根检验法的比较研究 房林邹卫星
    1-出口数据的平稳性分析
    时间序列中的结构突变与单位根检验
  • 原文地址:https://www.cnblogs.com/a1111/p/14877352.html
Copyright © 2011-2022 走看看