卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

深入理解java泛型詳解 c#泛型接口的協(xié)變和抗變是什么意思?

c#泛型接口的協(xié)變和抗變是什么意思?“協(xié)方差”和“逆(反變)”中的“協(xié)方差”和“逆”表示當(dāng)類型參數(shù)僅用于輸入或輸出時(shí),泛型接口類型參數(shù)的隱式轉(zhuǎn)換規(guī)則。當(dāng)泛型接口類型僅用于輸出(使用關(guān)鍵字out)時(shí),其

c#泛型接口的協(xié)變和抗變是什么意思?

“協(xié)方差”和“逆(反變)”中的“協(xié)方差”和“逆”表示當(dāng)類型參數(shù)僅用于輸入或輸出時(shí),泛型接口類型參數(shù)的隱式轉(zhuǎn)換規(guī)則。當(dāng)泛型接口類型僅用于輸出(使用關(guān)鍵字out)時(shí),其類型參數(shù)的隱式轉(zhuǎn)換遵循與對(duì)象引用相同的規(guī)則,這稱為“協(xié)變”反轉(zhuǎn)。當(dāng)泛型接口類型僅用于輸入(使用關(guān)鍵字in)時(shí),其類型參數(shù)的隱式轉(zhuǎn)換遵循與對(duì)象引用相反的規(guī)則,即“協(xié)變”反轉(zhuǎn)“反轉(zhuǎn)”、“反變異”或“反變異”。

泛型集合和Arraylsist的區(qū)別是什么?

泛型是ArrayList的概括。事實(shí)上,他們之間并沒有太大的區(qū)別。ArrayList是一種特殊的列表。也就是說(shuō),ArrayList本身實(shí)現(xiàn)了IList接口,但是它的內(nèi)容必須打包。換句話說(shuō),ArrayList等同于list< object>。list<T>中的T可以是任何類型,因此不建議使用ArrayList,但建議使用list。更重要的是,我建議你理解泛型的協(xié)方差和逆。這兩個(gè)對(duì)你更有幫助。

Java為什么要有泛型?

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

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

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

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

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

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

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