jdk12的预览版switch语句可以使用“->”符号代替“:”,免去书写break,支持有返回值;
jdk13的预览版switch语句新增了yield关键字用于返回值;
jdk14将之前的switch新特性转为正式版;
jdk12之前的switch:
@Test
void test() {
String s = "a";
switch (s) {
case "a":
System.out.println(123);
break;
case "b":
System.out.println(456);
break;
default:
System.out.println(789);
}
}
jdk12可以使用->和返回值,可以免去break:
@Test
void test() {
String s = "b";
switch (s) {
case "a" -> System.out.println(123);
case "b", "c" -> System.out.println(456);
default -> System.out.println(789);
}
}
@Test
void test() {
String s = "b";
int x = switch (s) {
case "a" -> 1;
case "b", "c" -> 2;
default -> 3;
};
System.out.println(x);
}
jdk13可以使用新增的yield关键字明确指定返回值:
@Test
void test() {
Str

博客介绍了JDK12 - 14中switch语句的新特性。JDK12预览版可用“->”代替“:”,免去break且支持返回值;JDK13预览版新增yield关键字用于返回值;JDK14将这些新特性转为正式版,同时强调一个switch中“:”和“->”不能混用。
最低0.47元/天 解锁文章
1494

被折叠的 条评论
为什么被折叠?



