目录
一、引言
日常开发中,我们经常会看到这种多if else的条件判断语句,随着业务代码量越来越复杂,这种代码会非常难以维护。分析这段代码,我们可以逐步对其进行改善优化:
二、优化版本一
通过hutool的工具包,替代字符串的非空判断,并通过switch来替代if else if else语句,更加结构化
三、优化版本二
从原始的代码中可以看到,本质是想做一个入参和出参的映射关系,因此我们可以通过枚举来实现
package com.wzx;
import cn.hutool.core.util.StrUtil;
public enum BizTypeEnum {
BIZ_TYPE_1("1", "业务类型1"),
BIZ_TYPE_2("2", "业务类型2"),
BIZ_TYPE_3("3", "业务类型3");
private String bizType;
private String bizTypeName;
BizTypeEnum(String bizType, String bizTypeName) {
this.bizType = bizType;
this.bizTypeName = bizTypeName;
}
public String getBizType() {
return bizType;
}
public String getBizTypeName() {
return bizTypeName;
}
public static String getBizTypeName(String bizType) {
if (StrUtil.isBlank(bizType)) {
return null;
}
for (BizTypeEnum bizTypeEnum : BizTypeEnum.values()) {
if (bizTypeEnum.bizType.equals(bizType)) {
return bizTypeEnum.getBizTypeName();
}
}
return null;
}
}
package com.wzx;
public class Test {
/**
* 通过传入的业务类型,返回对应的业务名称
* @param bizType
* @return
*/
public String getBizTypeName(String bizType) {
return BizTypeEnum.getBizTypeName(bizType);
}
}