关于#java#的问题:为什么jdk2021.3.3switch表达式不写case报错

为什么jdk2021.3.3switch表达式不写case报错,怎么解决?

![img](https://img-mid/

switch 表达式肯定是需要case的呀,它们是配套的java关键字。

在JDK 12及以后的版本中,Java引入了一个新的表达式,称为Switch表达式。这个表达式可以让你在一个单一的表达式中执行多个分支操作。

在使用Switch表达式时,您必须为每个可能的情况提供一个结果。在Java 12及以后的版本中,您可以在switch语句中使用箭头运算符(->)来提供结果。这些结果可以是常量值、变量或表达式。

在JDK 2021.3.3版本中,如果您省略了case标签,编译器会认为这是一个语法错误。因此,为了避免出现这种错误,请在Switch表达式中始终包含一个默认分支,以处理所有未被匹配的情况。

例如,以下代码段将不会编译:

int number = 2;
String result = switch(number){
    -> "Default";
}


因为缺少case标签,编译器无法找到一个匹配的结果。为了解决这个问题,您可以通过添加一个默认分支来处理所有未被匹配的情况:

int number = 2;
String result = switch(number){
    case 1 -> "One";
    case 2 -> "Two";
    default -> "Default";
}


这将为所有未被匹配的情况提供一个默认值,从而避免了编译错误。

希望这能回答您的问题!