Java泛型 - 型別擦除



泛型用於在編譯時進行更嚴格的型別檢查,並提供泛型程式設計。為了實現泛型行為,Java編譯器應用型別擦除。型別擦除是一個過程,編譯器將泛型引數替換為實際類或橋接方法。在型別擦除中,編譯器確保不會建立額外的類,並且沒有執行時開銷。

型別擦除規則

  • 如果使用了有界型別引數,則將泛型型別中的型別引數替換為其界限。

  • 如果使用了無界型別引數,則將泛型型別中的型別引數替換為Object。

  • 插入型別轉換以保持型別安全。

  • 生成橋接方法以保持擴充套件泛型型別中的多型性。

廣告