JDK1.7和JDK1.8的新特性Mark
JDK的版本层出不穷,连续不断,每一个版本都凝结了Java源码开发人员的智慧结晶。而对于每一个程序员来说,每年最神秘的两件事情,莫过于女朋友和JDK的新特性,相较前者而言,我还是说点我知道的吧。此文动态添加,为个人总结,欢迎补充。
JDK1.7
- JDK1.7的byte、short、int、long支持二进制的表达,只需要添加0b在前面就行了,如下:
byte num = 0b10101; - JDK1.7支持String类型的Switch;
- JDK1.7可以catch多个异常,只需要加|隔开;
- JDK1.7支持数字加入下划线,增加了数字的可读性:
long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101; - 泛型:当申明对象引用的泛型后,实例化时,可以只加一个尖括号:
List<String> list = new ArrayList<>;
JDK1.8
- 允许接口添加一个default方法,实现该接口的类无需重写方法,就可以使用:
interface Formula {
double calculate(int a);
default double sqrt(int a) {
return Math.sqrt(a);
}
}