黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java泛型有哪些?怎么用?

Java泛型有哪些?怎么用?

更新時間:2020-08-04 16:38:23 來源:動力節點 瀏覽2431次

泛型接口和類

泛型類和接口上面已經演示過了,定義方式類似class A;這樣。需要注意一點,在實現泛型接口時可以選擇傳入泛型實參或者不傳實參,傳入實參時實現類不需要聲明為泛型,實現類中所有使用泛型的地方都要轉為實參。不傳入實參時,實現類也要聲明為泛型。

泛型方法

泛型方法能夠使方法獨立與類而產生變化,Java編程思想一書中有一個指導原則,無論何時,只要能做到,就應該盡量使用泛型方法。也就是說,如果使用泛型方法可以取代將整個類泛型化,那么就應該只使用泛型方法。另外,對于一個static的方法而言,無法訪問泛型類的類型參數,所以,如果static方法需要使用泛型能力,就必須使其成為泛型方法。

看一個簡單例子:

Java泛型有哪些?怎么用?

首先上面這個類是普通類,并不是一個泛型類。這個類有一個泛型方法,這個方法可以靜態的也可以是靜態的,我這里選擇用靜態方法。方法get很簡單,就是打印出參數的類型。在定義方法的時候,并不知道要傳入的方法類型,只有在編譯時期根據傳入的參數類型,可以推斷出泛型的實參,例如傳入的1,編譯器可以推斷出泛型參數類型為Integer,傳入“1”,編譯器可以推斷出泛型參數類型為String,傳入1.0編譯器可以推斷出泛型參數類型為Double。這個叫做參數類型推斷。

看下上面代碼執行結果:

Java泛型有哪些?怎么用?

代碼的執行結果證明了泛型方法不需要顯式的指明參數類型,可以推斷參數類型。類型推斷只對賦值操作有效,其他時候并不起作用。如果你將一個泛型方法調用的結果(例如New.map())作為參數,傳遞給另一個方法,這時編譯器并不會執行類型推斷。

綜上所述,當使用泛型類時候,必須在創建對象的時候指定類型的參數值,而使用泛型方法的時候,通常不必指明參數類型,因為編譯器會找出具體的類型。

通配符

在定義泛型過程中會經常遇到不同的通配符,例如T,E,K,V,?等,這些其實沒什么區別,但是默認情況下有一些約定:

T表示一個java類型。

E表示元素Element,表示容器中的元素。

K V(key Value)分別代表java鍵值中的Key Value。

?表示不確定的java類型。

通配符一般可以分為無界通配符,上界通配符和下界通配符。

定義方式如下:

Java泛型有哪些?怎么用?

但是上界通配符和下屆通配符是具有局限性的。在上圖的list中,上界通配符定義的list只能get數據,且類型為Fruit,add的時候會報錯。下界通配符定義的list只能add數據,get數據返回的只能是object,詳細信息會全部丟失。

以上就是動力節點java培訓機構的小編針對“Java泛型有哪些?怎么用?”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成人网中文字幕色 | 中文字幕在线视频免费观看 | 亚州va | 欧美成人精品高清在线播放 | 久久精品免费观看视频 | 黄色小视频在线免费看 | 六月丁香婷婷综合 | 亚洲 欧美 字幕 一区 在线 | 永久免费视频 | 国产成人精品系列在线观看 | 最新一本大道香蕉综合 | 又黄又爽又色视频 | av小说网站 | 色香婷婷 | 亚洲一区免费看 | 日日热| 亚洲免费成人 | 亚洲视频一二区 | 黄色影片在线播放 | 亚洲高清国产品国语在线观看 | 欧美国产小视频 | 最近中文字幕在线观看 | 91成人短视频 | 午夜私人影院在线观看 视频 | 中国嫩模一级毛片 | 狠狠插影院 | 欧美人与动欧交视频 | 久操视频免费在线观看 | 国产99re在线观看只有精品 | 农村寡妇一级毛片免费播放 | 欧美 亚洲 一区 | 一本大道香蕉高清久久 | 中国一级毛片国产高清 | 麻豆果冻传媒新剧国产短视频 | 三级三级三级a级全黄公司的 | 午夜寂寞影院视频观看 | 日韩在线一区二区三区免费视频 | 国产亚洲人成网站在线观看不卡 | 成人久久伊人精品伊人 | 成人免费福利网站在线看 | 日本黄色大片视频 |