在Java 12中引入了Switch表達式,可以用于替代傳統的Switch語句。Switch表達式具有更簡潔和靈活的語法,可以表達式返回一個值。
以下是Switch表達式的基本用法:
String day = "Monday";
int numLetters = switch (day) {
case "Monday", "Friday", "Sunday" -> 6;
case "Tuesday" -> 7;
case "Thursday", "Saturday" -> 8;
case "Wednesday" -> 9;
default -> {
String message = "Invalid day";
System.out.println(message);
yield -1;
}
};
System.out.println(numLetters);
在Switch表達式中,使用箭頭符號(->)來代替傳統的冒號(:)。每個case可以包含多個值,用逗號分隔。使用yield關鍵字返回一個值,可以將Switch表達式賦值給一個變量。默認情況下,Switch表達式也可以包含一個default分支。
需要注意的是,Switch表達式中的每個分支都必須是可到達的,不允許有空的case分支。此外,Switch表達式還支持多種形式的模式匹配和類型匹配,可以更加靈活地處理不同的情況。