1. 程式人生 > >java核心技術(8)泛型程式設計

java核心技術(8)泛型程式設計

泛型程式設計(Generic programming) 意味著編寫的程式碼可以被很多不同型別的物件所重用。

比雜亂的使用Object物件然後再進行強制型別轉換具有更好的可讀性和安全性。尤其對於集合。

public static <T extends Comparable> T min(T [] a)

表示T應該是實現了Comparable介面的類(此處extends表示繫結)

虛擬機器中沒有泛型,編譯時轉換為原始型別,由此帶來以下幾個問題:

1、不能使用基本型別例項化型別引數

2、執行時型別查詢只適用於原始型別

3、不能丟擲也不能捕獲泛型類例項

4、引數化型別陣列不合法

5、不能使用new例項化型別變數

6、泛型類的靜態上下文中型別變數無效

需要注意繼承與普通類不一樣

萬用字元:

有限定萬用字元:Pair<? extends Apple>             Pair<? super Apple>

無限定萬用字元:Pair<?>