Java 泛型:不型變、協(xié)變、逆變

1、Why?為什么需要泛型?

根本目的是在保證泛型類 類型安全的基礎(chǔ)上,提高API的靈活性

2、How?如何保證類型安全?

手段是通過編譯器限制泛型類上某些方法的調(diào)用,編譯器并沒有那么聰明,一切取決于方法的簽名

Java中的泛型類在正常使用時是不型變的,要想型變必須在使用處通過通配符進行(稱為使用處型變)

3、Show?me the code

extend通配符
super通配符

附:測試代碼中,需要用到的類。

class MyString extends Object {

}

class MySubString extends MyString {

}

class MySubsubString extends MySubString {

}

參考:http://m.itdecent.cn/p/0c2948f7e656

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 泛型(Generics)的型變是Java中比較難以理解和使用的部分,“神秘”的通配符,讓我看了幾遍《Java...
    珞澤珈群閱讀 8,140評論 12 51
  • object 變量可指向任何類的實例,這讓你能夠創(chuàng)建可對任何數(shù)據(jù)類型進程處理的類。然而,這種方法存在幾個嚴重的問題...
    CarlDonitz閱讀 1,030評論 0 5
  • 開發(fā)人員在使用泛型的時候,很容易根據(jù)自己的直覺而犯一些錯誤。比如一個方法如果接收List作為形式參數(shù),那么如果嘗試...
    時待吾閱讀 1,128評論 0 3
  • 獅山星巴克一杯大杯的冰咖啡39元,里面挺多人,很熱鬧。用途范圍可以聊天,談公事,喝東西,上網(wǎng),等人,玩手機或者游戲...
    帥氣一點半閱讀 108評論 0 0
  • 昨天起床后,劉暢老師需要去準備下午上課的材料,我就在餐廳陪孩子們喝水。于是有幸聽到那么一撮兒提倡“自由戀愛”的“進...
    yizhi麻雀閱讀 314評論 0 0

友情鏈接更多精彩內(nèi)容