前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >巧用switch-case消除条件判断

巧用switch-case消除条件判断

原创
作者头像
shigen
发布2024-09-28 16:10:01
580
发布2024-09-28 16:10:01
举报
文章被收录于专栏:shigen的学习笔记

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

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

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

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

代码语言:java
复制
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一起,每天不一样!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档