巧用switch-case消除条件判断

简介: `shigen`是一位致力于撰写博客文章的作者,通过记录成长历程、分享见解并留住感动瞬间。在其文章中,`shigen`介绍了多种消除if-else代码的方法,包括使用HashMap、枚举以及switch-case。最新示例展示了如何通过简洁的switch-case语句处理不同类型的请求,代码优雅且直观。此外,还预告了下一章节将探讨如何利用Spring框架的IOC能力来进一步优化条件判断。与`shigen`一起探索编程世界的每一天都充满新意!**个人IP:shigen**

shigen坚持更新文章的博客写手,记录成长,分享认知,留住感动。个人IP:shigen

在之前的文章中,我们有提交消除if-else代码的方法:

  1. 结合HashMap与Java 8的Function和Optional消除ifelse判断
  2. 巧用枚举消除逻辑判断

现在分享最原始、也是最简单的switch-case判断,还是一样先上代码,你会觉得震惊不已:

public String handleQuestionV4(String type, String detail) {
   
    return switch (type) {
   
        case "A" -> handleQuestionA(detail);
        case "B" -> handleQuestionB(detail);
        case "C" -> handleQuestionC(detail);
        default -> throw new IllegalArgumentException("invalid type: " + type);
    };
}

对,你没看错,就是短短的几行。这个和lambda表达式的写法很像。它的原始版本是这样的:

代码的原始版本

这里也不得不赞叹下IDEA的强大,直接把代码优化到如此优雅。

OK,让我们现在回忆下目前知道的消除条件判断的方式:

  1. 借助HashMap
  2. 借助enum枚举类
  3. 借助switch-case

下一篇将会分享结合spring框架IOC能力实现条件判断的消除。

与shigen一起,每天不一样!

目录
相关文章
if和switch流程控制语句的基本案例练习
通过以上案例练习巩固 if 和 switch 流程控制语句的使用。
|
9月前
|
C++ 存储
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
循环结构流程控制(if,else,switch,for,do...while等等)(三)
循环结构流程控制(if,else,switch,for,do...while等等)(三)
94 0
|
9月前
C 语言中的 switch 语句和 while 循环详解
替代多重 if..else 语句,可以使用 switch 语句。switch 语句用于选择多个代码块中的一个来执行
123 0
|
9月前
|
存储 程序员 编译器
【新手解答5】深入探索 C 语言:宏中的文本、标识符和字符串 + 递归运算、条件语句、循环 + `switch-case` 与多项条件和枚举的差别
【新手解答5】深入探索 C 语言:宏中的文本、标识符和字符串 + 递归运算、条件语句、循环 + `switch-case` 与多项条件和枚举的差别
95 0
循环结构流程控制(if,else,switch,for,do...while等等)(一)
循环结构流程控制(if,else,switch,for,do...while等等)(一)
74 0
循环结构流程控制(if,else,switch,for,do...while等等)(二)
循环结构流程控制(if,else,switch,for,do...while等等)(二)
89 0
编程基本功:while/for循环中,如果有switch,注意break是中断的哪一层
编程基本功:while/for循环中,如果有switch,注意break是中断的哪一层
111 0
|
设计模式 算法
只会if-else和switch?多层逻辑判断的优雅写法
只会if-else和switch?多层逻辑判断的优雅写法
210 0
2、条件语句(if、switch)
2、条件语句(if、switch)
99 0