java - T extends Comparable<? super T> 中问号? 是固定的吗?
迷茫
迷茫 2017-04-17 15:44:48
0
2
837
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(2)
黄舟

是固定的,代表T或T的父類。

Java定義泛型的初衷是為了確保在執行時出現的錯誤能提早放到編譯時檢查,有了這個理解,再看 extends T>和 super T>。
super T>叫做向下造型,在這裡代表Comparable介面中的泛型元素都是T或T的父類,在傳入參數時可以傳入T或T的子類別。
extends T>叫做向上造型,以ArrayList extends T>為例,代表這個list集合中所有元素都是T的子類,在取出時可以自動轉換為T型。

講的有點拗口,其實沒有多複雜,敲一敲就理解了。

Peter_Zhu

如果你想從一個數據類型裡獲取數據,使用? extends 通配符;
如果你想把對象寫入一個數據結構裡,使用? super 通配符;
如果你既想存,又想取,那就別用通配符。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板