什么是语法糖?
语法糖就是指 java 编译器把 *.java 源码编译为 *.class 字节码的过程中,自动生成和转换的一些代码。
有哪些语法糖?
- 默认构造函数:当一个类没有显式的提供构造函数时,编译器会在编译期间自动生成一个无参构造函数。
- 自动拆装箱:基本类型与其包装类型可以自动转换。
- 泛型集合取值
- 可变参数:可变参数会被转换成数组。注意,当可变参数未传入任何参数时,并不是生成null,而是创建了一个空的数组。
- foreach 循环
- switch 字符串:字符串会被转为其哈希码,先比较哈希码,在用equals方法进行比较。
- switch 枚举
- 枚举类
- try-with-resources:实现了AutoCloseable接口的资源对象,不需要使用finally进行释放。
- 方法重写时的桥接方法:重写方法时,子类返回值可以是父类返回值的子类。
- 匿名内部类