枚举的使用优化if-else


前言

枚举是一种常用于替代复杂的if-else结构的优化工具。通过使用枚举,可以将多个条件判断语句转化为简单的case语句,提高代码的可读性和可维护性


一、用来替代大量请求路径的判断

首先创建一个函数式接口用来定义处理拼接路径的方法

@FunctionalInterface
public interface Introduce {

     /**
       *
       * 前缀
     */

    String PREFIX = "/common/";

    /**
     * 完整的路径信息
     *
     * @return {@code String}
     */
    String business();

}

然后定义枚举实现该接口,用来实现不同的具体路径

@AllArgsConstructor
@Getter
public enum IntroduceEnum implements Introduce {

    /**
     * 用户添加
     */
    UserAdd(){
        @Override
        public String business() {
            return PREFIX +"user/add";

        }
    },

    /**
     * 用户删除
     */
    UserDelete(){
        @Override
        public String business() {
            return PREFIX +"user/delete";
        }
    }
}

最后测试

 public static void main(String[] args) {

        IntroduceEnum userAdd = IntroduceEnum.UserAdd;
        String business = userAdd.business();
        System.out.println(business);


    }

 

这样就得到完整的路径了,然后可以根据需要用这个变量去做一些事情。 如果需要传入动态的路径,只需要把原来接口的方法里面添加上参数就可以实现

 

二、使用枚举来优化if-else结构

// 使用if-else结构实现某个功能
public void processStatus(String status) {
    if ("NEW".equals(status)) {
        // 处理新建状态的逻辑
    } else if ("IN_PROGRESS".equals(status)) {
        // 处理进行中状态的逻辑
    } else if ("COMPLETED".equals(status)) {
        // 处理已完成状态的逻辑
    } else if ("CANCELLED".equals(status)) {
        // 处理已取消状态的逻辑
    } else {
        // 处理其他未知状态的逻辑
    }
}

// 使用枚举优化if-else结构
public enum Status {
    NEW,
    IN_PROGRESS,
    COMPLETED,
    CANCELLED
}

public void processStatus(Status status) {
    switch (status) {
        case NEW:
            // 处理新建状态的逻辑
            break;
        case IN_PROGRESS:
            // 处理进行中状态的逻辑
            break;
        case COMPLETED:
            // 处理已完成状态的逻辑
            break;
        case CANCELLED:
            // 处理已取消状态的逻辑
            break;
        default:
            // 处理其他未知状态的逻辑
            break;
    }
}

可以看到,通过使用枚举,我们将复杂的if-else结构转化为了简洁的switch语句。这样做的好处包括:

  1. 代码更简洁明了:枚举类型提供了更直观、可读性更高的代码结构。
  2. 可扩展性强:如果需要添加新的状态,只需在枚举中新增一个值,并在对应的case块中处理逻辑。
  3. 避免了繁琐的字符串比较:枚举常量是唯一的,不需要进行字符串比较。

总结

总而言之,通过使用枚举可以有效地优化复杂的if-else结构,使代码更加清晰、易于维护和扩展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值