流程控制
Switch中的表达式结果在jdk7以及以上支持了字符串类型
public static void main(String[] args) {
//JDK7新特性,switch表达式结果支持字符串类型
String name = "rbing";
//switch表达式中的name会经过name.hashCode()处理生成一个唯一的编码
switch (name) {
case "rbing"://这里也会解析成一个编码
System.out.println("this is rbing");
break;
case "xxx":
System.out.println("this is xxx");
break;
default:
System.out.println("this is dog");
}
}
//编译后的class经过idea反编译的结果:
public static void main(String[] args) {
String name = "rbing";
byte var3 = -1;
switch(name.hashCode()) {
case 119160:
if (name.equals("xxx")) {
var3 = 1;
}
break;
case 108305330:
if (name.equals("rbing")) {
var3 = 0;
}
}
switch(var3) {
case 0:
System.out.println("this is rbing");
break;
case 1:
System.out.println("this is xxx");
break;
default:
System.out.println("this is dog");
}
}