1:switch中可以使用字串
String s = "test";
switch (s) {
case "test" :
System.out.println("test");
case "test1" :
System.out.println("test1");
break ;
default :
System.out.println("break");
break ;
}
2:"<>"這個玩意兒的運用List<String> tempList = new ArrayList<>(); 即泛型實例化類型自動推斷。
JDK1.7之前 List<String> tempList = new ArrayList<String>()
3:自定義自動關閉類
只要實現該接口,在該類對象銷毀時自動調用close方法,你可以在close方法關閉你想關閉的資源,例子如下
class TryClose implements AutoCloseable {
@Override public void close() throw Exception {
System.out.println(" Custom close method …
close resources ");
}
}//請看jdk自帶類BufferedReader如何實現close方法(當然還有很多類似類型的類)
public void close() throws IOException {
synchronized (lock) {
if (in == null)
return;
in.close();
in = null;
cb = null;
}
}
4:對Java集合(Collections)的增強支持
在JDK1.7中,摒棄了Java集合接口的實現類,如:ArrayList、HashSet和HashMap。而是直接采用[]、{}的形式存入對象,采用[]的形式按照索引、鍵值來獲取集合中的對象,如下:
List<String> list=["item"]; //向List集合中添加元素
String item=list[0]; //從List集合中獲取元素
Set<String> set={"item"}; //向Set集合對象中添加元素
Map<String,Integer> map={"key":1}; //向Map集合中添加對象
int value=map["key"]; //從Map集合中獲取對象
5:數值可加下划線
例如:int one_million = 1_000_000;
6:支持二進制文字
例如:int binary = 0b1001_1001;
7:在try catch異常撲捉中,一個catch可以寫多個異常類型,用"|”隔開
try {
......
} catch(ClassNotFoundException|SQLException ex) {
ex.printStackTrace();
}
8:jdk7之前,你必須用try{}finally{}在try內使用資源,在finally中關閉資源,不管try中的代碼是否正常退出或者異常退出。jdk7之后,你可以不必要寫finally語句來關閉資源,只要你在try()的括號內部定義要使用的資源