java中泛型的作用是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有三元免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
在java中,<>指的是泛型。泛型是在編譯期間能發(fā)現(xiàn)類型的錯誤,防止非定義的類型出現(xiàn)。泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個參數(shù)。
泛型的定義:
泛型是程序設(shè)計語言的一種特性。允許程序員在強類型程序設(shè)計語言中編寫 體驗泛型代碼時定義一些可變部分,那些部分在使用前必須作出指明。
各種程序設(shè)計語言和其編譯器、運行環(huán)境對泛型的支持均不一樣。將類型參數(shù)化以達到代碼復(fù)用提高軟件開發(fā)工作效率的一種數(shù)據(jù)類型。
泛型類是引用類型,是堆對象,主要是引入了類型參數(shù)這個概念。
使用泛型的好處
Java語言中引入泛型是一個較大的功能增強。不僅語言、類型系統(tǒng)和編譯器有了較大的變化,以支持泛型,而且類庫也進行了很大的改動,許多重要的類,比如集合框架,都已經(jīng)成為泛型化的了。這帶來了很多好處:
1、類型安全
泛型的主要目標(biāo)是提高Java程序的類型安全。通過知道使用泛型定義的變量的類型限制,編譯器可以在非常高的層次上驗證類型假設(shè)。沒有泛型,這些假設(shè)就只存在于系統(tǒng)開發(fā)人員的頭腦中。
通過在變量聲明中捕獲這一附加的類型信息,泛型允許編譯器實施這些附加的類型約束。類型錯誤現(xiàn)在就可以在編譯時被捕獲了,而不是在運行時當(dāng)作ClassCastException展示出來。將類型檢查從運行時挪到編譯時有助于Java開發(fā)人員更早、更容易地找到錯誤,并可提高程序的可靠性。
2、消除強制類型轉(zhuǎn)換
泛型的一個附帶好處是,消除源代碼中的許多強制類型轉(zhuǎn)換。這使得代碼更加可讀,并且減少了出錯機會。盡管減少強制類型轉(zhuǎn)換可以提高使用泛型類的代碼的累贊程度,但是聲明泛型變量時卻會帶來相應(yīng)的累贊程度。在簡單的程序中使用一次泛型變量不會降低代碼累贊程度。但是對于多次使用泛型變量的大型程序來說,則可以累積起來降低累贊程度。所以泛型消除了強制類型轉(zhuǎn)換之后,會使得代碼加清晰和筒潔。
2、消除強制類型轉(zhuǎn)換
泛型的一個附帶好處是,消除源代碼中的許多強制類型轉(zhuǎn)換。這使得代碼更加可讀,并且減少了出錯機會。盡管減少強制類型轉(zhuǎn)換可以提高使用泛型類的代碼的累贊程度,但是聲明泛型變量時卻會帶來相應(yīng)的累贊程度。在簡單的程序中使用一次泛型變量不會降低代碼累贊程度。但是對于多次使用泛型變量的大型程序來說,則可以累積起來降低累贊程度。所以泛型消除了強制類型轉(zhuǎn)換之后,會使得代碼加清晰和筒潔。
3、更高的運行效率
在非泛型編程中,將筒單類型作為Object傳遞時會引起B(yǎng)oxing(裝箱)和Unboxing(拆箱)操作,這兩個過程都是具有很大開銷的。引入泛型后,就不必進行Boxing和Unboxing操作了,所以運行效率相對較高,特別在對集合操作非常頻繁的系統(tǒng)中,這個特點帶來的性能提升更加明顯。
4、潛在的性能收益
泛型為較大的優(yōu)化帶來可能。在泛型的初始實現(xiàn)中,編譯器將強制類型轉(zhuǎn)換(沒有泛型的話,Java系統(tǒng)開發(fā)人員會指定這些強制類型轉(zhuǎn)換)插入生成的字節(jié)碼中。但是更多類型信息可用于編譯器這一事實,為未來版本的JVM的優(yōu)化帶來可能。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
分享名稱:java中泛型的作用是什么
文章轉(zhuǎn)載:http://www.rwnh.cn/article34/gpogse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、定制開發(fā)、商城網(wǎng)站、做網(wǎng)站、網(wǎng)站收錄、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)