枚举的使用优化if-else

文章目录

目录

文章目录

前言

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

二、使用枚举来优化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_第1张图片 

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

 

二、使用枚举来优化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结构,使代码更加清晰、易于维护和扩展。

你可能感兴趣的:(java基础,java,开发语言)