[Java] Java JDK的版本更新整理
Published in
Sep 13, 2020
Java版本更新也是過往面試的重要考點,主要會問各大版本新增的功能等,最常考的版本主要有JDK5、7、8三個版本。
JDK5各大版本新增的功能等,最常考的版本主要有JDK5、7、8三個版本。
(持續更新中)
JDK 1.5
- 靜態引用static import,在類別上方如果使用靜態引用,如import static java.lang.System.out;
下方的System.out.println();可以寫成out.println();
但是實務中非常不建議使用,可能會影響程式碼閱讀 - 不固定參數的加入(重大更新必記)
- Overloading的回傳型別如果是物件可以是原方法回傳型別的子類別
- 自動裝拆箱
- 加入泛型機制
- printf()方法加入,簡化格式輸出
- 列舉(enum)機制加入,用以有限度的固定資料(常數),如:一週有七天
- Scanner類別加入,可以直接輸入資料,省略鍵盤讀入資料需要的繁瑣步驟。
JDK 1.6
- 陣列的copyOf(),不用new會回傳一個新的陣列,與原本址的值不同,通常用在陣列臨時要增加新的元素,可以複製一個比原始陣列長的新陣列,陣列會自動補0,可以再更改後面的元素。
- 字串的方法新增isEmpty()方法,可以用來判斷字串是否為空值,一般用以檢查註冊申請帳號使否存在空值。
以往需使用String.length()==0來判斷
JDK 1.7
- 以往版本中只能throws共同父類別的例外,但是這樣會讓後續使用的人無法明確(可能會有一個以上例外),因此JDK7之後改良重新拋出的例外檢查
- 可以使用多重捕捉精簡模式(如圖)
- switch….case 可以用來比對字串(String),以往只能比對字元/整數(Byte/Short/Int)
- throws可以拋出多個例外
以往: throws Exception (選擇共同的例外丟出)
現在: throws ExceptionA,ExceptionB(可以分別丟出例外,可以讓使用者更明確例外內容) - try-with-resources語法省略機制,確保資源一定會關閉,必須要實作java.lang.AutoCloseable與java.io.Closeable介面,但還是建議使用finally進行資源關閉,避免版本不同造成問題
JDK1.8
- 編譯器若是檢查到了區域內部類別使用了方法的參數或區域變數的話會自動幫我們加上final