1. 程式人生 > >深入拆解虛擬機器(十)Java語法糖與Java編譯器

深入拆解虛擬機器(十)Java語法糖與Java編譯器

泛型與型別擦除

(1)Java程式裡的泛型資訊,在Java虛擬機器裡全部丟失了。這麼做主要是為了相容引入泛型之前的程式碼。

(2)並不是每一個泛型引數被擦除型別之後都會變成Object類。對於限定了繼承類的泛型引數,經過型別擦除後,所有的泛型引數都將變成所限定的繼承類。也就是說,Java編譯器將選取該泛型所能指代的所有類中層次最高的那個,作為替換泛型的類

(3)Java編譯器可以根據泛型引數判斷程式中語法是否正確