深入理解java泛型詳解 怎樣理解java泛型中的擦除?
怎樣理解java泛型中的擦除?泛型是1.5中引入的一個(gè)新概念。它具有高度的安全性和易用性,因?yàn)椴恍枰獜?qiáng)制轉(zhuǎn)換類型。因?yàn)榉盒椭辉诰幾g器中實(shí)現(xiàn),并且虛擬機(jī)不識別泛型類項(xiàng),所以有必要?jiǎng)h除虛擬機(jī)中的泛型類型。
怎樣理解java泛型中的擦除?
泛型是1.5中引入的一個(gè)新概念。它具有高度的安全性和易用性,因?yàn)椴恍枰獜?qiáng)制轉(zhuǎn)換類型。因?yàn)榉盒椭辉诰幾g器中實(shí)現(xiàn),并且虛擬機(jī)不識別泛型類項(xiàng),所以有必要?jiǎng)h除虛擬機(jī)中的泛型類型。也就是說,泛型在編譯階段使用,而泛型在運(yùn)行階段取消,即擦除。擦除是用父類替換泛型類型。例如,字符串成為對象。實(shí)際上,仍然使用強(qiáng)制類型的轉(zhuǎn)換,但這是一種相對安全的轉(zhuǎn)換,因?yàn)樵诰幾g階段已經(jīng)確保了數(shù)據(jù)的一致性。