国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

java泛型是什么 怎樣理解java泛型中的擦除?

怎樣理解java泛型中的擦除?由于引入了類(lèi)型轉(zhuǎn)換的新概念,并且易于使用,因此使用起來(lái)非常方便。因?yàn)榉盒椭辉诰幾g器中實(shí)現(xiàn),并且虛擬機(jī)不識(shí)別泛型類(lèi)項(xiàng),所以有必要?jiǎng)h除虛擬機(jī)中的泛型類(lèi)型。也就是說(shuō),泛型在編譯

怎樣理解java泛型中的擦除?

由于引入了類(lèi)型轉(zhuǎn)換的新概念,并且易于使用,因此使用起來(lái)非常方便。因?yàn)榉盒椭辉诰幾g器中實(shí)現(xiàn),并且虛擬機(jī)不識(shí)別泛型類(lèi)項(xiàng),所以有必要?jiǎng)h除虛擬機(jī)中的泛型類(lèi)型。也就是說(shuō),泛型在編譯階段使用,而泛型在運(yùn)行階段取消,即擦除。擦除是用父類(lèi)替換泛型類(lèi)型。例如,字符串成為對(duì)象。實(shí)際上,仍然使用強(qiáng)制類(lèi)型的轉(zhuǎn)換,但這是一種相對(duì)安全的轉(zhuǎn)換,因?yàn)樵诰幾g階段已經(jīng)確保了數(shù)據(jù)的一致性。

究竟是.Net好還是Java好,歡迎大家發(fā)言,暢所欲言?

我選擇dotnet,因?yàn)橛钪嬷杏械谝粋€(gè)ide-vs2019祝福,不接受駁斥。

Java為什么要有泛型?

Java中的泛型非常棒。這就是為什么我經(jīng)常討厭Java的原因之一。

讓我們先談?wù)劮盒偷闹饕δ埽?/p>

1。加強(qiáng)類(lèi)型安全。例如,如果定義了一個(gè)列表,那么只有string可以存儲(chǔ)在其中,其他類(lèi)型(從string派生的類(lèi)型除外)是不允許的。類(lèi)型安全應(yīng)該反映在編譯時(shí)和運(yùn)行時(shí)。

2. 提高性能,減少類(lèi)型轉(zhuǎn)換和裝箱次數(shù)。

讓我們來(lái)談?wù)凧ava泛型的奇妙之處:

1。Java泛型實(shí)現(xiàn)的原理稱(chēng)為類(lèi)型擦除。無(wú)論代碼中如何定義泛型,它們?cè)诰幾g后都會(huì)成為對(duì)象,因此在運(yùn)行時(shí)無(wú)法實(shí)現(xiàn)類(lèi)型安全。而且,java編譯器不夠聰明,很容易被欺騙。例如,調(diào)用第三方接口返回list,但實(shí)際得到的值可能與string無(wú)關(guān)。

2. 由于類(lèi)型被刪除,類(lèi)型轉(zhuǎn)換是不可避免的,所以使用泛型和非泛型不會(huì)改變性能。