這篇文章將為大家詳細(xì)講解有關(guān)Java泛型的基礎(chǔ)知識,文章內(nèi)容質(zhì)量較高,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)是專業(yè)的萬山網(wǎng)站建設(shè)公司,萬山接單;提供網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行萬山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
來源:Java在設(shè)計(jì)開始之前不是通用的,直到它在JDK 1.5中被引入。Java泛型是通過擦除實(shí)現(xiàn)的。你知道什么是擦除嗎?往下看。
概念:常規(guī)類和方法只能使用特定類型;基本類型或自定義類。如果要編寫可應(yīng)用于多種類型代碼的代碼,這種嚴(yán)格的限制將對代碼施加很大的約束。泛型實(shí)現(xiàn)了參數(shù)化類型的概念,使代碼能夠應(yīng)用于多個(gè)類型。當(dāng)泛型在編程語言中出現(xiàn)時(shí),它們的最初目的是希望類和方法具有廣泛的表達(dá)能力。
出現(xiàn)泛型有很多原因,其中最重要的一個(gè)原因是創(chuàng)建容器類。我們暫時(shí)不指定類型,但決定以后使用什么類型。為了實(shí)現(xiàn)這一目標(biāo),需要在類名后面使用類型參數(shù),用尖括號括起來。然后,當(dāng)使用此類時(shí),將用實(shí)際類型替換此類型的參數(shù)。在下面的示例中,t是類型參數(shù)。代碼如下:
然而,在許多源代碼中,一些泛型類具有多個(gè)泛型參數(shù),例如Java。UTIL功能。雙功能,有三種類型的參數(shù)t,u,r。
泛型方法使方法獨(dú)立于類。在編寫通用代碼時(shí),基本的指導(dǎo)原則是盡可能使用通用方法。這意味著,如果可以對整個(gè)類使用泛型方法而不是泛型方法,那么可以使用泛型方法,因?yàn)樗鼈兛梢允故虑楦宄?。此外,對于靜態(tài)方法,不能訪問泛型類的類型參數(shù),因此如果靜態(tài)方法需要使用泛化功能,則必須將它們變?yōu)榉盒头椒ā?/p>
當(dāng)我讀了Java編程思想的一般章節(jié)中的“被刪除的奧秘”部分時(shí),我特別頭暈,然后當(dāng)我向下看時(shí),我變得越來越困惑。尤其是當(dāng)你看邊界和通配符的時(shí)候,它有點(diǎn)令人困惑。首先看看什么是擦除。在泛型代碼中,有關(guān)泛型參數(shù)類型的信息不可用。Java泛型是通過擦除實(shí)現(xiàn)的,這意味著當(dāng)使用泛型時(shí),任何特定的類型都會被擦除,而您所知道的唯一一件事就是使用對象。由于Java最初沒有引入泛型,所以它被設(shè)計(jì)成與舊版本的JDK兼容。ErAcess是Java通用實(shí)現(xiàn)之間的折衷。因此,當(dāng)您運(yùn)行時(shí),list<string>與list<integer>相同。請注意,它正在運(yùn)行,但在編譯時(shí),list<string>表示此字符串類型的列表容器,list<integer>表示當(dāng)前整數(shù)類型的列表容器。例如,來自Java編程思想的例子。
Java中的泛型,當(dāng)編譯時(shí),T表示一種類型,如果沒有指定邊界,它就等于對象。我們可以使用extends關(guān)鍵字為泛型指定邊界。為了能夠調(diào)用f(),我們可以在給定泛型類邊界的情況下幫助泛型類,告訴編譯器必須接受邊界后面的類型。這里使用擴(kuò)展關(guān)鍵字。將上述代碼更改為
以上就是Java泛型的基礎(chǔ)知識,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊,感謝各位的閱讀。
文章標(biāo)題:Java泛型的基礎(chǔ)知識
文章地址:http://jinyejixie.com/article14/pgesge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、網(wǎng)頁設(shè)計(jì)公司、域名注冊、網(wǎng)站策劃、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)