06.20 Java編程細節-Java泛型總結

泛型

泛型就是參數化類型

適用於多種數據類型執行相同的代碼泛型中的類型在使用時指定泛型歸根到底就是“模版”

優點:使用泛型時,在實際使用之前類型就已經確定了,不需要強制類型轉換。

泛型主要使用在集合中

自定義泛型

泛型字母

形式類型參數(formal type parameters)即泛型字母命名泛型字母可以隨意指定,儘量使用單個的大寫字母(有時候多個泛型類型時會加上數字,比如T1,T2)常見字母(見名知意)T TypeK V Key ValueE Element當類被使用時,會使用具體的實際類型參數(actual type argument)代替

泛型類

只能用在成員變量上,只能使用引用類型

泛型接口

只能用在抽象方法上

泛型方法

返回值前面加上

泛型的繼承

通配符

通配符(Wildcards)

T、K、V、E 等泛型字母為有類型,類型參數賦予具體的值?未知類型 類型參數賦予不確定值,任意類型只能用在聲明類型、方法參數上,不能用在定義泛型類上

extends/super

上限(extends)

指定的類必須是繼承某個類,或者實現了某個接口(不是implements),即<=

? extends List

下限(super)

即父類或本身

? super List

泛型嵌套

從外向裡取

其他