更新時間:2019-12-19 16:30:24 來源:動力節(jié)點 瀏覽2610次
沒有泛型之前的java世界是什么樣的呢?在Java SE 1.5之前,如果大家想實現(xiàn)參數(shù)的“任意化”,只能通過Object來想辦法,問題來了,你后續(xù)想要轉(zhuǎn)回來,必須要顯示的進行強制類型轉(zhuǎn)化,想要進行強制類型轉(zhuǎn)化,你又必須預知實際參數(shù)的類型,對于強制類型轉(zhuǎn)換錯誤的情況,編譯器可能不提示錯誤,在運行的時候才出現(xiàn)異常,這是一個安全隱患。
這里舉個例子:
上面的例子不難看出,在編譯器,jvm沒報錯,但是運行的時候,boom。
泛型的好處是在編譯的時候檢查類型安全,并且所有的強制轉(zhuǎn)換都是自動和隱式的,以提高代碼的重用率。
泛型出現(xiàn)之前大家怎么實現(xiàn)的呢:
泛型出現(xiàn)后:
這里的T的類型的參數(shù),具體T指代什么類型,是String還是Integer類型此處不管,而在程序員開發(fā)時使用到Container時再指定,如:
這種環(huán)境下,編譯器就知道Container容器是放String類型對象的,并進行類型安全檢查。
這樣設(shè)計的容器在使用時編譯器就可以幫忙做很大一部分的類型安全檢查工作了,這就避免了很多運行時的ClassCastException異常,程序員也無需記住各種對象的類型和擔心類型匹配問題了。同時大部分情況下也不用做類型強制轉(zhuǎn)換工作了。
以上就是動力節(jié)點Java培訓機構(gòu)小編介紹的“教你幾分鐘秒懂Java泛型”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
Java全套自學資料+視頻
Java自學視頻教程(免費學習):http://www.dabaquan.cn/video.html
Java技術(shù)教程:http://www.dabaquan.cn/tutorial/
相關(guān)文章