java版本發佈的發展歷程

java版本發佈的發展歷程

目錄

JDK1.5的添加的屬性

JDK6

JDK 7

JDK 8


JDK1.5的添加的屬性

JDK1.5爲每一個基本數據類型定義了一個封裝類。使java中的基本數據類型也有自己的對象

int --> Integer

double -->Double

long -->Long

char --> Character

float --> Float

boolean -->Boolean

short --> Short 

byte ---> Byte

自動裝箱:將基本類型轉換成爲對象,例如:int --> Integer

自動拆箱:將對象轉換成爲基本數據類型,例如:Integer --> int

對於JDK1.5之前集合總不能存放基本數據的類型,現在也能夠解決。

枚舉:

枚舉使JDK1.5推出的一個比較重要的特性。其關鍵字爲enum,例如:定義代表顏色的枚舉

public enum Color{

RED,GREEN,YELLOW

}

靜態導入

優點:使用靜態導入可以使被導入類的所有靜態變量和靜態方法在當前類直接課件,使用這些靜態成員無需再給出他們的類名。

缺點:過度使用會降低代碼的可讀性

變長參數

在JDk1.5以前,當我們要爲一個方法傳遞多個類型相同的參數,我們有兩種方法解決

1.直接傳遞一個數組過去

public void printColor(String  red,String green,String yellow){

}

2.有多少個參數就傳遞多少個參數。

public void printColor(String[] colors){

}

這種編寫方法相對來說比較麻煩,如果參數個數不確定,編寫不是那麼順手了,使用可變參數就可以很好地解決這些問題了

例如:

public void printColor(String.. colors){

}

如果參數的類型相同,那麼可以使用(類型+三個點),後面跟一個參數名稱的形式。這樣的好處就是隻要參數類型相同,無論傳遞幾個參數都沒有限制,注意:可變參數必須是參數列表的最後一項(該特性對對象和基本數據類型都適用)

泛型

“泛型”意味着編寫的代碼可以被不同類型的對象所重用。可見泛型的提出爲了編寫重用性更好的代碼,泛型的本質是參數化類型,也就是說所操作的數據類型被指定爲一個參數。

List<String> strs = new ArrayList<String>();

for-Each循環

例如上面這個集合我們可以通過for-each遍歷,這樣國家簡單清晰

for(String s:strs){

System.out.println(s);

}

線程併發庫

線程併發庫是Java1.5提出的關於線程處理的高級功能,所在包:java.util.concurrent

 

JDK6

Desktop類和SystemTray類

前者可以用來打開默認瀏覽器瀏覽指定的url,打開相同默認郵件客戶端給指定的郵箱發郵件。

使用Complier API

輕量級Http Server API

用Console開發控制檯程序

對腳本語言的支持

 

JDK 7

數字變量對下滑線的支持

switch對String的支持

try-with-resource

捕獲多種異常並用改進後的類型檢查來重新拋出異常

創建類型時類型判斷

JDK7之前要這樣寫:

List<String> list =new ArrayList<Stirng>();

而在Java  以後,也可以這麼寫了

List<String> list = new ArrayList<>();

 

JDK 8

Lambda表達式和函數接口

接口的默認方法和靜態方法

更好的類型判斷

Optional

Streams

新的日期時間API

Nashorn JavaScript引擎

Base64

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章