今天小編主要介紹Java中泛型的用法,實(shí)例總結(jié)了java中泛型的常見使用技巧,需要的朋友可以參考下
1 基本使用
2 泛型與子類
Child是Parent的子類,List<Child>卻不是List<Parent>的子類。
因此:List<Object> list = new ArrayList<String>()是錯(cuò)誤的。
如果上面是正確的,那么:
3 wildcards
因?yàn)?的原因,下面的實(shí)現(xiàn)用于統(tǒng)配集合的輸出是不行的
因此,需要通配符?:
此處的?表示類型未知,但是任何對(duì)象均是Object,因此上例的1是正確的。但下例卻是錯(cuò)誤的:
原因也很明確,? extends MyClass說明類型是MyClass的子類,但是卻并不知道具體類型
4. 泛型方法
上例可以實(shí)現(xiàn)為:
編譯器在保證語義的前提,會(huì)幫忙做類型的轉(zhuǎn)換工作。
5. 泛型運(yùn)行時(shí)的對(duì)比
因?yàn)榉盒皖愡\(yùn)行時(shí)時(shí)一樣的。
6 泛型數(shù)組(可能導(dǎo)致類型不安全)
代碼如下:
List<String>[] lsa = new ArrayList<String>[10]; // error
如果可以的話,可能導(dǎo)致類型不安全。如:
以上就是北大青鳥長沙麓谷校區(qū)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java培訓(xùn)教程:Java泛型的用法”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)文章
零基礎(chǔ)怎么自學(xué)Java,完整版Java學(xué)習(xí)路線圖
你還在糾結(jié)學(xué)Java,是自學(xué)還是去培訓(xùn)班嗎
一個(gè)標(biāo)準(zhǔn)的Java程序員如何進(jìn)階?
Java學(xué)習(xí)路線清單,快速進(jìn)階Java
Java編程初學(xué)者要如何進(jìn)階
Java培訓(xùn) Java培訓(xùn)教程 Java教程