Java语法糖

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

回到顶部