巧用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);
    };
}
AI 代码解读

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

代码的原始版本

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

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

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

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

与shigen一起,每天不一样!

目录
打赏
0
0
0
0
46
分享
相关文章
借助spirng的IOC 能力消除条件判断
`shigen`是一位致力于分享成长与认知的博客作者。本文介绍了如何利用Spring的IOC机制替代条件判断,优化代码结构。通过抽象类`QuestionHandler`和具体实现,结合IOC注入,实现了问题类型的动态处理,提高了代码的可扩展性和维护性。与shigen一起,每天都有新收获!
61 0
借助spirng的IOC 能力消除条件判断
生物传感器:健康监测的革新
【10月更文挑战第13天】在科技飞速发展的今天,生物传感器正逐渐成为健康监测领域的革新力量。它能实时监测心率、血压、血糖等生理参数,为医生提供准确诊断依据,并帮助个人管理健康。此外,还能监测运动、睡眠及饮食习惯,提供个性化建议。尽管面临灵敏度、小型化及数据隐私等挑战,但借助微流控技术和人工智能,生物传感器有望实现更高精度和更广泛应用,彻底改变我们的生活方式与健康管理方式。
我是如何通过火焰图分析让应用CPU占用下降近20%的
分享作者在使用Arthas火焰图工具进行Java应用性能分析和优化的经验。
云原生时代下的应用开发与部署实践
【10月更文挑战第4天】在云原生的浪潮中,开发者和运维人员面临着新的挑战和机遇。本文将通过实际案例,展示如何在云平台上高效地开发、部署和管理应用,同时确保系统的可扩展性和高可用性。我们将深入探讨容器化技术、微服务架构以及持续集成/持续部署(CI/CD)流程的实施策略,旨在为读者提供一套完整的云原生解决方案框架。
Apache Seata(incubating) 首个版本重磅发布!
2.1.0 是 Seata 进入 Apache 基金会的第一个 Release Version。此次发布将 io.seata 包名更改为 org.apache.seata。除了按原有的 Roadmap 技术演进外,2.1.0 进行了大量兼容性工作,实现了 API、数据和协议的兼容。用户无需修改原有的 API 和配置,即可实现到 Apache 版本的平滑升级。
234 63
Apache Seata(incubating) 首个版本重磅发布!
python将照片集变成视频
`shigen`是一位坚持更新文章的博客作者,记录成长历程,分享认知见解,留住生活感动。他利用Python库`Pillow`和`MoviePy`开发了一个工具,能够批量处理照片并生成高质量视频。该工具支持多种分辨率、自定义播放时间和照片方向,并能自动调整照片比例以实现居中对齐。通过简单的代码实现了照片视频化的需求,适合强迫症患者使用。**与shigen一起,每天不一样!**个人IP:shigen。
147 9
python将照片集变成视频
|
10月前
|
结合HashMap与Java 8的Function和Optional消除ifelse判断
`shigen`是一位致力于记录成长、分享认知和留住感动的博客作者。本文通过具体代码示例探讨了如何优化业务代码中的if-else结构。首先展示了一个典型的if-else处理方法,并指出其弊端;然后引入了策略模式和工厂方法等优化方案,最终利用Java 8的Function和Optional特性简化代码。此外,还提到了其他几种消除if-else的方法,如switch-case、枚举行、SpringBoot的IOC等。一起跟随shigen的脚步,让每一天都有所不同!
104 10
结合HashMap与Java 8的Function和Optional消除ifelse判断
mybatis使用四:dao接口参数与mapper 接口中SQL的对应和对应方式的总结,MyBatis的parameterType传入参数类型
这篇文章是关于MyBatis中DAO接口参数与Mapper接口中SQL的对应关系,以及如何使用parameterType传入参数类型的详细总结。
225 10
开发指南056-定时任务
业务场景中定时任务很常见。平台实现定时任务的原则如下
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问