java泛型中T、E、K、V、?等含義
- E - Element (在集合中使用,由於集合中存放的是元素),E是對各方法中的泛型類型進行限制,以保證同一個對象調用不一樣的方法時,操做的類型一定是相同的。E能夠用其它任意字母代替
- T - Type(Java 類),T表明在調用時的指定類型。會進行類型推斷
- K - Key(鍵)
- V - Value(值)
- N - Number(數值類型)
- ? - 表示不肯定的java類型,是類型通配符,表明全部類型。?不會進行類型推斷
泛型類定義
//緊跟類名後面
public class Test<T>{}
泛型方法定義
//緊跟修飾符後面(public)
public <T> T Test1(T t){}
?通配符使用
//變量賦值或變量聲明時候使用
List<?> list;
List<? extends Number> uNumberList;
List<? super Integer> intgerList;
注:List<? extends T>和List <? super T>有什麼區別java
- List<? extends T>能夠接受任何繼承自T的類型的List,
- List<? super T>能夠接受任何T的父類構成的List。
- 例如List<? extends Number>能夠接受List<Integer>或List<Float>。