Java 13 Switch表达式

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

Java 13 Switch表达式

Java 12引入了在Switch语句中使用表达式的功能,并将其作为预览特性发布。Java 13在switch语句中新增了一个新的yield结构来返回一个值。这仍然是一个预览特性。

考虑以下示例 –

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 -> "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 -Xlint:preview --enable-preview -source 13 APITester.java$java --enable-preview APITester

输出

Old SwitchWeekdayWeekendInvalid day.New SwitchWeekdayWeekendInvalid day.

相关推荐