1 糖块二、 泛型
2 糖块一、 switch 支持 String 与枚举
3 糖块三、 自动装箱与拆箱
4 糖块四 、 方法变长参数
5 糖块五 、 枚举
6 糖块六 、 内部类
7 糖块七 、条件编译
8 糖块八 、 断言
9 糖块九 、 数值字面量
在java 7中,数值字面量,不管是整数还是浮点数,都允许在数字之间插入任意多个下划线。这些下划线不会对字面量的数值产生影响,目的就是方便阅读。
public class Test {
public static void main(String… args) {
int i = 10_000;
System.out.println(i);
}
}
10 糖块十 、 for-each
增强for循环(for-each)他会比for循环要少写很多代码,那么这个语法糖背后是如何实现的呢?
JAVA中的增强for循环底层是通过迭代器模式来实现的
11 糖块十一 、 try-with-resource
Java里,对于文件操作IO流、数据库连接等开销非常昂贵的资源,用完之后必须及时通过close方法将其关闭,否则资源会一直处于打开状态,可能会导致内存泄露等问题。
关闭资源的常用方式就是在finally块里是释放,即调用close方法
12 糖块十二、Lambda表达式
关于lambda表达式,有人可能会有质疑,因为网上有人说他并不是语法糖。其实我想纠正下这个说法。
Labmda表达式不是匿名内部类的语法糖,但是他也是一个语法糖。实现方式其实是依赖了几个JVM底层提供的lambda相关api。