在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表达式还支持多种形式的模式匹配和类型匹配,可以更加灵活地处理不同的情况。