JEP 420:简化的 switch 表达式

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
函数计算FC,每月15万CU 3个月
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: Java 14 引入了 switch 表达式, Java 18 实现了 JEP 420以下是 switch 表达式

# JEP 420:简化的 switch 表达式


---


Java 14 引入了 `switch` 表达式, Java 18 实现了 `JEP 420`


以下是 `switch` 表达式


```Java  

int numLetters = switch (day) {

   case MONDAY, FRIDAY, SUNDAY -> 6;

   case TUESDAY                -> 7;

   case THURSDAY, SATURDAY     -> 8;

   case WEDNESDAY              -> 9;

   default                     -> 11;    

};

```


### 对比


之前

```Java

static String formatter(Object o) {

   String formatted = "unknown";

   if (o instanceof Integer i) {

       formatted = String.format("int %d", i);

   } else if (o instanceof Long l) {

       formatted = String.format("long %d", l);

   } else if (o instanceof Double d) {

       formatted = String.format("double %f", d);

   } else if (o instanceof String s) {

       formatted = String.format("String %s", s);

   }

   return formatted;

}

```


之后


```Java

static String formatterPatternSwitch(Object o) {

   return switch (o) {

       case Integer i -> String.format("int %d", i);

       case Long l    -> String.format("long %d", l);

       case Double d  -> String.format("double %f", d);

       case String s  -> String.format("String %s", s);

       default        -> o.toString();

   };

}

```


对于简短的 `switch` 逻辑,可以更加清晰的表达

相关文章
|
3月前
|
前端开发 JavaScript
前端基础(六)_流程控制语句(if、if-else、if-else嵌套、switch)
本文介绍了JavaScript中的流程控制语句,包括if、if-else、if-else嵌套和switch语句。
39 2
前端基础(六)_流程控制语句(if、if-else、if-else嵌套、switch)
|
4月前
|
Java 数据安全/隐私保护
03 Java流程控制-分支(if+switch+变量类型)
03 Java流程控制-分支(if+switch+变量类型)
33 5
|
6月前
|
Java
【深度解读】Java条件语句:if-else与switch的适用场景大起底!
【6月更文挑战第14天】本文探讨了Java中if-else和switch条件语句的适用场景。if-else以其灵活性处理复杂逻辑判断,适合多种条件组合;而switch在多分支选择上更高效简洁,尤其适用于枚举类型和固定常量。了解两者特点有助于写出更优雅、高效的代码。
135 0
循环结构流程控制(if,else,switch,for,do...while等等)(三)
循环结构流程控制(if,else,switch,for,do...while等等)(三)
92 0
|
7月前
|
安全 Java 开发者
JDK 21中的Switch模式匹配:一种更强大且灵活的分支选择机制
本文深入探讨了JDK 21中引入的Switch模式匹配的新特性。这种新的模式匹配机制不仅简化了传统的switch语句,还引入了类型检查和模式匹配,使得代码更加简洁、易读且功能强大。本文将详细介绍Switch模式匹配的语法、使用场景以及与传统switch语句的区别,并通过示例代码展示其在实际开发中的应用。
1373 0
循环结构流程控制(if,else,switch,for,do...while等等)(一)
循环结构流程控制(if,else,switch,for,do...while等等)(一)
72 0
循环结构流程控制(if,else,switch,for,do...while等等)(二)
循环结构流程控制(if,else,switch,for,do...while等等)(二)
84 0
|
Java
Java基本语法(13)--条件分支switch-case结构
Java基本语法(13)--条件分支switch-case结构
156 1
Java基本语法(13)--条件分支switch-case结构
|
Java
Java 编程问题:二、对象、不变性和`switch`表达式4
Java 编程问题:二、对象、不变性和`switch`表达式
105 0
|
Java API 索引
Java 编程问题:二、对象、不变性和`switch`表达式
Java 编程问题:二、对象、不变性和`switch`表达式
78 0