Java 14 Switch表达式

来源:这里教程网 时间:2026-02-17 21:24:06 作者:

Java 14 Switch表达式

Java 12引入了Switch语句中的表达式,并将其作为预览功能发布。Java 13在Switch语句中添加了一种新的yield结构,用于返回一个值。而在Java 14中,Switch表达式现在是一个标准特性。

每个case块可以使用yield语句返回一个值。

对于枚举类型,可以跳过default case。对于其他情况,default case是必需的。

示例

考虑以下示例 −

ApiTester.java

public class APITester {   public static void main(String[] args) {      System.out.println("Old Switch");      System.out.println(getDayTypeOldStyle("Monday"));      System.out.println(getDayTypeOldStyle("Saturday"));      System.out.println(getDayTypeOldStyle(""));      System.out.println("New Switch");      System.out.println(getDayType("Monday"));      System.out.println(getDayType("Saturday"));      System.out.println(getDayType(""));   }   public static String getDayType(String day) {      var result = switch (day) {         case "Monday", "Tuesday", "Wednesday","Thursday", "Friday": yield "Weekday";         case "Saturday", "Sunday": yield "Weekend";         default: yield "Invalid day.";      };      return result;   }   public static String getDayTypeOldStyle(String day) {      String result = null;      switch (day) {         case "Monday":         case "Tuesday":         case "Wednesday":         case "Thursday":         case "Friday":            result = "Weekday";            break;         case "Saturday":          case "Sunday":            result = "Weekend";            break;         default:            result =  "Invalid day.";                  }      return result;   }}

编译并运行程序

$javac APITester.java$java APITester

输出

Old SwitchWeekdayWeekendInvalid day.New SwitchWeekdayWeekendInvalid day.

相关推荐