java中巧用枚举减少代码量

Posted 沛沛老爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中巧用枚举减少代码量相关的知识,希望对你有一定的参考价值。

 先看原来的代码:

List<Integer> activityValue = MallUtil.stringToArrayInt(this.activity);

activityValue.forEach(e->{
    ProductTypeEnum typeEnum = ProductTypeEnum.getByValue(e);
    activity.add(Objects.requireNonNull(typeEnum).getMsg());
    if (e.equals(MallConstants.PRODUCT_TYPE_NORMAL)) {
        activity.add(MallConstants.PRODUCT_TYPE_NORMAL_STR);
    }
    if (e.equals(MallConstants.PRODUCT_TYPE_SECKILL)) {
        activity.add(MallConstants.PRODUCT_TYPE_SECKILL_STR);
    }
    if (e.equals(MallConstants.PRODUCT_TYPE_BARGAIN)) {
        activity.add(MallConstants.PRODUCT_TYPE_BARGAIN_STR);
    }
    if (e.equals(MallConstants.PRODUCT_TYPE_PINGTUAN)) {
        activity.add(MallConstants.PRODUCT_TYPE_PINGTUAN_STR);
    }
    if (e.equals(MallConstants.PRODUCT_TYPE_ACTIVITY)) {
        activity.add(MallConstants.PRODUCT_TYPE_ACTIVITY_STR);
    }
    
    ...
   
});

这段代码其实只是做了一个很简单的事情,根据value,复制name。

如果用枚举的话可能就三行代码就搞定了。

直接上代码:

  List<Integer> activityValue = MallUtil.stringToArrayInt(this.activity);

  activityValue.forEach(e->{

      ProductTypeEnum typeEnum = ProductTypeEnum.getByValue(e);

      activity.add(Objects.requireNonNull(typeEnum).getMsg());
              
  });

这代码相对于前面的代码少了很多的判断条件。只是获取当前对象,然后将属性值add进去就可以了。

好了,剩下的时间,您可以去前台撩小妹妹了。

如何使用枚举可以看下这篇文章:

https://blog.csdn.net/m290345792/article/details/113242381

以上是关于java中巧用枚举减少代码量的主要内容,如果未能解决你的问题,请参考以下文章

MySQL巧用FIND_IN_SET和GROUP_CONCAT函数减少Java代码量

工作中巧用了这几个设计模式重构代码,女同事直呼666

Golang中巧用defer进行错误处理

Git中巧用git stash命令缓存当前分支的更改

js中巧用cssText属性批量操作样式

业务零影响!如何在Online环境中巧用MySQL传统复制技术