泛型的原理及使用方法?
第一,什么是泛型?
Java從1.5開(kāi)始支持泛型,泛型的本質(zhì)是一個(gè)類(lèi)型參數(shù),也就是作的數(shù)據(jù)類(lèi)型被指定為一個(gè)參數(shù)。此參數(shù)類(lèi)型可用于創(chuàng)建類(lèi)、接口和方法,分別稱(chēng)為泛型類(lèi)、泛型接口和泛型方法。
如果你不不支持泛型,你支持對(duì)象,而不是特定的泛型。泛型是Java語(yǔ)言的擴(kuò)展。;的類(lèi)型系統(tǒng)來(lái)支持創(chuàng)建可按類(lèi)型參數(shù)化的類(lèi)。您可以將類(lèi)型參數(shù)視為使用參數(shù)化類(lèi)型時(shí)指定的類(lèi)型的占位符,就像方法的形參是運(yùn)行時(shí)傳遞的值的占位符一樣。許多重要的類(lèi),比如集合框架,已經(jīng)變得通用。
第二,泛型的優(yōu)勢(shì)是什么
泛型的好處是在編譯時(shí)檢查類(lèi)型安全,所有的強(qiáng)制轉(zhuǎn)換都是自動(dòng)隱式的,這樣可以提高代碼重用率。
1.類(lèi)型安全
泛型的主要目標(biāo)是提高Java程序的類(lèi)型安全性。通過(guò)了解泛型定義的變量的類(lèi)型限制,編譯器可以在更高的程度上驗(yàn)證類(lèi)型假設(shè)。沒(méi)有泛型,這些假設(shè)可以不能在代碼中實(shí)現(xiàn),而只能停留在設(shè)計(jì)方案或注釋中。
2.消除強(qiáng)制類(lèi)型轉(zhuǎn)換
泛型的一個(gè)附帶好處是消除了源代碼中的許多強(qiáng)制類(lèi)型轉(zhuǎn)換。這使得代碼更具可讀性,并減少了強(qiáng)制代碼轉(zhuǎn)換和錯(cuò)誤的機(jī)會(huì)。
3.潛在的性能優(yōu)勢(shì)
泛型使得更好的優(yōu)化成為可能。在泛型的初始實(shí)現(xiàn)中,編譯器會(huì)在生成的字節(jié)碼中插入強(qiáng)制類(lèi)型轉(zhuǎn)換(沒(méi)有泛型,程序員會(huì)指定這些強(qiáng)制類(lèi)型轉(zhuǎn)換)。
第三,如何表達(dá)泛型
什么?;我們?cè)诜盒椭惺褂玫膖,e,k和v有什么區(qū)別?事實(shí)上,如果我們用大寫(xiě)字母A,B,C,D...x,Y,Z,都是泛型。It如果我們把T換成A也是一樣的,這里T只是一個(gè)名字,比如:
?表示不確定的java類(lèi)型,未知。
T(typ
Java的入門(mén)標(biāo)準(zhǔn)?
入學(xué)水平:
1.精通基本語(yǔ)法
2.熟練使用幾種控制語(yǔ)句(for、while、foreach、switch)
3.知道什么是繼承和多態(tài)。如何實(shí)際使用它們
4.熟練使用容器。(列表、集合、地圖)
5.知道簡(jiǎn)單泛型的用法。
6.能夠處理簡(jiǎn)單的異常錯(cuò)誤。
7、能對(duì)硬盤(pán)文件進(jìn)行最基本的讀寫(xiě)操作。
那個(gè)大概是這樣,也許更少。事實(shí)上,它很難辨別一個(gè)人是入門(mén)級(jí)1還是入門(mén)級(jí)4。慢慢來(lái)。多讀書(shū)自然會(huì)有回報(bào)。