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

專注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泛型有哪些?怎么用?”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩毛片在线观看 | 最近中文字幕无吗 | 午夜高清在线 | 国内精品小视频福利网址 | 成人午夜视频在线播放 | 成年黄网站在线观看免费 | 91香蕉视频苹果 | xxxx性欧美高清 | 国产极品一区 | 97视频在线免费 | 很很色在线视频 | 高清福利视频 | 综合玖玖 | 国产精亚洲视频 | 在线成人看片 | 天天爽天天操 | 男女猛烈无遮挡性视频 | 你懂的视频在线看 | 免费高清毛片天天看 | 在线免费观看黄色 | 国产偷国产偷高清视频 | 日韩精品久久不卡中文字幕 | 精品国产日韩亚洲一区在线 | 日产国产欧美韩国在线 | 亚洲综合在线另类色区奇米 | 中文一级国产特级毛片视频 | 午夜亚洲国产 | 欧美黄色免费在线观看 | 最近中文2019视频在线 | 天堂在线最新资源 | 在线观看黄色一级片 | zxfuil福利在线观看午夜 | 91视频网页版 | 在线精品亚洲 | 中国女人free性hd国浯 | 欧美第九页 | 欧美小视频在线观看 | 欧美高清亚洲欧美一区h | 国产一区二区三区在线观看精品 | 欧美特黄一区二区三区 | 精品国产高清自在线一区二区三区 |