JDK1.7 新特性


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()的括號內部定義要使用的資源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM