深入理解java泛型詳解 Java為什么要有泛型?
Java為什么要有泛型?Java中的泛型非常棒。這就是為什么我經(jīng)常討厭Java的原因之一。讓我們先談?wù)劮盒偷闹饕δ埽?。加強(qiáng)類(lèi)型安全。例如,如果定義了一個(gè)列表,那么只有string可以存儲(chǔ)在其中,其
Java為什么要有泛型?
Java中的泛型非常棒。這就是為什么我經(jīng)常討厭Java的原因之一。
讓我們先談?wù)劮盒偷闹饕δ埽?/p>
1。加強(qiáng)類(lèi)型安全。例如,如果定義了一個(gè)列表
2. 提高性能,減少類(lèi)型轉(zhuǎn)換和裝箱次數(shù)。
讓我們來(lái)談?wù)凧ava泛型的奇妙之處:
1。Java泛型實(shí)現(xiàn)的原理稱為類(lèi)型擦除。無(wú)論代碼中如何定義泛型,它們?cè)诰幾g后都會(huì)成為對(duì)象,因此在運(yùn)行時(shí)無(wú)法實(shí)現(xiàn)類(lèi)型安全。而且,java編譯器不夠聰明,很容易被欺騙。例如,調(diào)用第三方接口返回list
2. 由于類(lèi)型被刪除,類(lèi)型轉(zhuǎn)換是不可避免的,所以使用泛型和非泛型不會(huì)改變性能。