语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·兰丁发明的一个术语。
语 法糖指的是计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使 用。语法糖让程序更加简洁,有更高的可读性。
因为
Java
代码需要运行在
JVM
中,
JVM
是并不支持语法糖的,语法糖在程序编译阶段就会被还原成简
单的基础语法结构,这个过程就是
解语法糖
。
下面看一下
Java
中的一些语法糖
泛型与类型擦除
在
JDK1.5
中,引入了泛型机制,但是泛型机制的本身是通过
类型擦除
来实现的,在
JVM
中没有泛型,
泛型类的类型参数,在编译时都会被擦除。
如在代码中定义的
List<Integer>
和
List<String>
等类型,在编译之后都会变成
List
,
JVM
看到的只
是
List
,而由泛型附加的类型信息对
JVM
来说是不可见的。 因此,对于
JVM
来说,
List<Integer>
和
List<String>
就是同一个类,并不存在
List<String>.class
或是
List<Integer>.class
,而只有
List.class
,所以,泛型实际上是
Java
语言的一个语法糖,又被叫做
伪泛型
。
比如例如,下面的代码输出结果为
true
。