深入理解java泛型詳解 怎樣理解java泛型中的擦除?
怎樣理解java泛型中的擦除?泛型是1.5中引入的一個(gè)新概念。它具有高度的安全性和易用性,因?yàn)椴恍枰獜?qiáng)制轉(zhuǎn)換類型。因?yàn)榉盒椭辉诰幾g器中實(shí)現(xiàn),并且虛擬機(jī)不識(shí)別泛型類項(xiàng),所以有必要?jiǎng)h除虛擬機(jī)中的泛型類型。
怎樣理解java泛型中的擦除?
泛型是1.5中引入的一個(gè)新概念。它具有高度的安全性和易用性,因?yàn)椴恍枰獜?qiáng)制轉(zhuǎn)換類型。因?yàn)榉盒椭辉诰幾g器中實(shí)現(xiàn),并且虛擬機(jī)不識(shí)別泛型類項(xiàng),所以有必要?jiǎng)h除虛擬機(jī)中的泛型類型。也就是說(shuō),泛型在編譯階段使用,而泛型在運(yùn)行階段取消,即擦除。擦除是用父類替換泛型類型。例如,字符串成為對(duì)象。實(shí)際上,仍然使用強(qiáng)制類型的轉(zhuǎn)換,但這是一種相對(duì)安全的轉(zhuǎn)換,因?yàn)樵诰幾g階段已經(jīng)確保了數(shù)據(jù)的一致性。
究竟是.Net好還是Java好,歡迎大家發(fā)言,暢所欲言?
我選擇dotnet,因?yàn)橛钪嬷杏械谝粋€(gè)ide-vs2019祝福,不接受駁斥。