Java基礎--JVM和泛型

1、創建泛型對象的時候,一定要指出類型變量T的具體類型。爭取讓編譯器檢查出錯誤,而不是留給JVM運行的時候拋出類不匹配的異常。

2、JVM如何理解泛型概念 —— 類型擦除。事實上,JVM並不知道泛型,所有的泛型在編譯階段就已經被處理成了普通類和方法。 處理方法很簡單,我們叫做類型變量T的擦除(erased) 。

 

總結:泛型代碼與JVM

① 虛擬機中沒有泛型,只有普通類和方法。

② 在編譯階段,所有泛型類的類型參數都會被Object或者它們的限定邊界來替換。(類型擦除)

③ 在繼承泛型類型的時候,橋方法的合成是爲了避免類型變量擦除所帶來的多態災難。 無論我們如何定義一個泛型類型,相應的都會有一個原始類型被自動提供。原始類型的名字就是擦除類型參數的泛型類型的名字。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章