Java语法糖
语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。
语法糖的存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖。这些语法糖在编译阶段就会被还原成简单的基础语法结构,这个过程就是解语法糖。
语法糖一:switch支持String和枚举
switch 语句中的变量类型可以是: byte、short、int 或者 char。对于byte、short、int类型,直接进行数值的比较。对于char类型则是比较其ascii码。所以,对于编译器来说,switch中其实只能使用整型,任何类型的比较都要转换成整型。
public void switchString(String str) {switch (str) {
case "huang":
System.out.println("huang");
break;
case "chen":
System.out.println("chen");
break;
default:
System.out.println("default");
break;
}
}
public void switchEnum(SexEnum sexEnum) {
switch (sexEnum) {
case MALE:
System.out.println("male");
break;
case FEMALE:
System.out.println("female");
break;
default:
System.out.println("default");
break;
}
}
idea编译后
public void switchString(String str) {byte var3 = -1;
switch(str.hashCode()) {
case 3052494:
if (str.equals("chen")) {
var3 = 1;
}
break;
case 99628461:
if (str.equals("huang")) {
var3 = 0;
}
}
switch(var3) {
case 0:
System.out.println("huang");
break;
case 1:
System.out.println("chen");
break;
default:
System.out.println("default");
}
}
public void switchEnum(SexEnum sexEnum) {
switch(sexEnum) {
case MALE:
System.out.println("male");
break;
case FEMALE:
System.out.println("female");
break;
default:
System.out.println("default");
}
}
以上是 Java语法糖 的全部内容, 来源链接: utcz.com/z/394087.html