泛型
泛型就是參數化類型
- 適用於多種數據類型執行相同的代碼
- 泛型中的類型在使用時指定
- 泛型歸根到底就是“模版”
優點:使用泛型時,在實際使用之前類型就已經確定了,不需要強制類型轉換。
泛型主要使用在集合中
自定義泛型
泛型字母
- 形式類型參數(formal type parameters)即泛型字母
- 命名泛型字母可以隨意指定,儘量使用單個的大寫字母(有時候多個泛型類型時會加上數字,比如T1,T2)
- 常見字母(見名知意)
- T Type
- K V Key Value
- E Element
- 當類被使用時,會使用具體的實際類型參數(actual type argument)代替
泛型類
- 只能用在成員變量上,只能使用引用類型
泛型接口
- 只能用在抽象方法上
泛型方法
- 返回值前面加上
泛型的繼承
通配符
通配符(Wildcards)
- T、K、V、E 等泛型字母為有類型,類型參數賦予具體的值
- ?未知類型 類型參數賦予不確定值,任意類型
- 只能用在聲明類型、方法參數上,不能用在定義泛型類上
extends/super
上限(extends)
指定的類必須是繼承某個類,或者實現了某個接口(不是implements),即<=
- ? extends List
下限(super)
即父類或本身
- ? super List
泛型嵌套
從外向裡取
其他
閱讀更多 Java高併發框架 的文章