基礎泛型標識含義
在使用泛型標識后,在使用之前類型就被確定,不需要進行類型的強制轉換了.
E ----- Element(元素 ,集合中使用)
T ----- Type(類型 ,類)
K ----- key(鍵)
V ----- Value(值)
N ----- Number(數值類型)
? ----- 不確定的java類型
T,Class<T>,Class<?>的區(qū)別
T是具體的類,是String,Integer等等
Class<T>在編譯前確定具體的類
Class<?>是個通配泛型,?可以代表任何類型,主要用于聲明時的限制情況
public static <T> T m(Class<T> cla){
}
<T> 和傳入的參數 Class<T> cla對應,表示返回值是一個泛型,后面的T是表示返回值類型
<? extends T> 和 <? super T>
<? extends T> 表示類型的上界,參數類型是T或T的子類。
<? super T> 表示類型下界,參數類型是T或T的父類型。
如果頻繁往外讀取內容,適合用上界Extends
如果頻繁插入內容,適合用下界super