JDK 7:支持String字符串的匹配
在JDK7及以后的版本中,JDK增添了对于String字符串的匹配支持
switch (match){
case "中国":
System.out.println("China");
break;
case "日本":
System.out.println("鬼砸");
break;
}
JDK 12:对case增加了另一种写法,使用case C -> { } 代替break语句
switch (match){
case "中国"->{
System.out.println("China");
}
case "日本"->{
System.out.println("鬼砸");
}
}
如果case语句中只有一条语句,可以省略大括号:
switch (match){
case "中国"->
System.out.println("China");
case "日本"->
System.out.println("鬼砸");
}
扩展:通过switch返回值
int i = switch (match){
case "中国"-> 1;
default -> throw new IllegalStateException("Unexpected value: " + match);
};
System.out.println(i);
原有的switch穿透可以使用case var1,var2,var3...... ->{ }
JDK 13:完善了带返回值的switch语句,增加关键字yield
int j = switch (match){
case "中国"-> {yield 1;}
default -> {yield 0;}
};