勵志

勵志人生知識庫

泛型擦除是什麼意思

泛型擦除(Generic Type Erasure)是Java語言中的一個重要概念,指的是在編譯過程中,編譯器將原始碼中的泛型信息去除,使得在運行時無法直接訪問這些泛型信息。

在Java中,泛型主要是為了在編譯時檢查類型安全,避免運行時類型錯誤。在編譯階段,編譯器會檢查泛型類型參數以確保類型安全。然而,一旦代碼編譯完成,所有泛型類型信息,包括泛型參數的具體類型,都會被擦除。在運行時,泛型類型參數被替換為其上限邊界(如果有指定的話)或是Object類型。這樣的設計既保證了編譯時的類型安全,又因為擦除了泛型信息,使得位元組碼更加高效。