Java泛型類型擦除

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

類型擦除規則

  • 用通用類型的類型參數替換其綁定的有界類型參數。
  • 如果使用無界類型參數,則使用Object替換類型參數。
  • 插入類型轉換以保護類型安全。
  • 生成橋接方法以在擴展通用類型中保持多態。