Java泛型型別擦除


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

型別擦除規則

  • 用通用型別的型別引數替換其系結的有界型別引數。
  • 如果使用無界型別引數,則使用Object替換型別引數。
  • 插入型別轉換以保護型別安全。
  • 生成橋接方法以在擴充套件通用型別中保持多型。