泛型通配符的基本使用

這是我參與11月更文挑戰(zhàn)的第7天任内,活動(dòng)詳情查看:2021最后一次更文挑戰(zhàn)」。

茫茫人海千千萬(wàn)萬(wàn)融柬,感謝這一秒你看到這里死嗦。希望我的文章對(duì)你的有所幫助!

愿你在未來(lái)的日子粒氧,保持熱愛(ài)越除,奔赴山海!

前言:昨天我們終于講完了泛型通配符的基本使用外盯,

所以摘盆,接下來(lái)我們將會(huì)對(duì)泛型通配符的學(xué)習(xí)--泛型通配符的高級(jí)使用!

??泛型通配符

在我們之前的學(xué)習(xí)泛型的過(guò)程當(dāng)中饱苟,在當(dāng)我們使用泛型類或者接口時(shí)孩擂,傳遞的數(shù)據(jù)中,泛型類型不確定箱熬,可以通過(guò)通配符<?>表示类垦。但是一旦使用泛型的通配符后,只能使用Object類中的共性方法城须,集合中元素自身方法無(wú)法使用蚤认。

??5.2 通配符高級(jí)使用

之前設(shè)置泛型的時(shí)候,實(shí)際上是可以任意設(shè)置的糕伐,只要是類就可以設(shè)置砰琢。但是在JAVA的泛型中可以指定一個(gè)泛型的上限和下限。

泛型的上限:

格式: 類型名稱 <? extends 類 > 對(duì)象名稱

意義: 只能接收該類型及其子類

泛型的下限:

格式: 類型名稱 <? super 類 > 對(duì)象名稱

意義: 只能接收該類型及其父類型

比如:現(xiàn)已知Object類良瞧,Animal類陪汽,Dog類,Cat類褥蚯,其中Animal是Dog掩缓,Cat的父類

class Animal{}//父類

class Dog extends Animal{}//子類

class Cat extends Animal{}//子類

復(fù)制代碼

首先我們先看下,泛型的上限<? extends 類 >:

//? ? ? ? ArrayList<? extends Animal> list = new ArrayList<Object>();//報(bào)錯(cuò)

? ? ? ? ArrayList<? extends Animal> list2 = new ArrayList<Animal>();

? ? ? ? ArrayList<? extends Animal> list3 = new ArrayList<Dog>();

? ? ? ? ArrayList<? extends Animal> list4 = new ArrayList<Cat>();

復(fù)制代碼

可以看出遵岩,泛型的上限只能是該類型的類型及其子類你辣。

我們?cè)賮?lái)看看泛型的下限<? super 類 >:

? ? ? ? ArrayList<? super Animal> list5 = new ArrayList<Object>();

? ? ? ? ArrayList<? super Animal> list6 = new ArrayList<Animal>();

//? ? ? ? ArrayList<? super Animal> list7 = new ArrayList<Dog>();//報(bào)錯(cuò)

//? ? ? ? ArrayList<? super Animal> list8 = new ArrayList<Cat>();//報(bào)錯(cuò)

復(fù)制代碼

可以看出巡通,泛型的下限只能是該類型的類型及其父類。

一般泛型的上限和下限也是用來(lái)參數(shù)的傳遞:

http://www.360doc.com/content/21/1104/07/46403850_1002672849.shtml

http://www.360doc.com/content/21/1107/21/46403850_1003191175.shtml

http://www.360doc.com/content/21/1107/21/46403850_1003190908.shtml

再比如:現(xiàn)已知Object類舍哄,String 類宴凉,Number類,Integer類表悬,其中Number是Integer的父類

public static void main(String[] args) {

? ? Collection<Integer> list1 = new ArrayList<Integer>();

? ? Collection<String> list2 = new ArrayList<String>();

? ? Collection<Number> list3 = new ArrayList<Number>();

? ? Collection<Object> list4 = new ArrayList<Object>();


? ? getElement(list1);

? ? getElement(list2);//報(bào)錯(cuò)

? ? getElement(list3);

? ? getElement(list4);//報(bào)錯(cuò)


? ? getElement2(list1);//報(bào)錯(cuò)

? ? getElement2(list2);//報(bào)錯(cuò)

? ? getElement2(list3);

? ? getElement2(list4);


}

// 泛型的上限:此時(shí)的泛型?弥锄,必須是Number類型或者Number類型的子類

public static void getElement1(Collection<? extends Number> coll){}

// 泛型的下限:此時(shí)的泛型?,必須是Number類型或者Number類型的父類

public static void getElement2(Collection<? super Number> coll){}

復(fù)制代碼

學(xué)到這里蟆沫,我們泛型也就學(xué)完了籽暇!

??總結(jié)

相信各位看官都對(duì)泛型有了全部的深入的了解和體驗(yàn),在平時(shí)開(kāi)發(fā)饭庞,比較常見(jiàn)使用在泛型的使用有集合框架中的List和Map戒悠。當(dāng)然還有很多的應(yīng)用,期待你慢慢發(fā)現(xiàn)舟山!

那我們繼續(xù)期待歡迎期待下一章的到來(lái)绸狐!

讓我們也一起加油吧!本人不才累盗,如有什么缺漏寒矿、錯(cuò)誤的地方,也歡迎各位人才大佬評(píng)論中批評(píng)指正若债!當(dāng)然如果這篇文章確定對(duì)你有點(diǎn)小小幫助的話符相,也請(qǐng)親切可愛(ài)的人才大佬們給個(gè)點(diǎn)贊、收藏下吧蠢琳,一鍵三連啊终,非常感謝!

https://gitee.com/numerical-control-system

https://www.thinksaas.cn/user/space/50002/

https://zhuanlan.zhihu.com/p/430534517

https://zhuanlan.zhihu.com/p/430536898

https://zhuanlan.zhihu.com/p/430537972

————————————————

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挪凑,一起剝皮案震驚了整個(gè)濱河市孕索,隨后出現(xiàn)的幾起案子逛艰,更是在濱河造成了極大的恐慌躏碳,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件散怖,死亡現(xiàn)場(chǎng)離奇詭異菇绵,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)镇眷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門咬最,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人欠动,你說(shuō)我怎么就攤上這事永乌』笊辏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵翅雏,是天一觀的道長(zhǎng)圈驼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)望几,這世上最難降的妖魔是什么绩脆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮橄抹,結(jié)果婚禮上靴迫,老公的妹妹穿的比我還像新娘。我一直安慰自己楼誓,他們只是感情好玉锌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著慌随,像睡著了一般芬沉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阁猜,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天丸逸,我揣著相機(jī)與錄音,去河邊找鬼剃袍。 笑死黄刚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的民效。 我是一名探鬼主播憔维,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼畏邢!你這毒婦竟也來(lái)了业扒?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤舒萎,失蹤者是張志新(化名)和其女友劉穎程储,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體臂寝,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡章鲤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咆贬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片败徊。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖掏缎,靈堂內(nèi)的尸體忽然破棺而出皱蹦,到底是詐尸還是另有隱情煤杀,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布沪哺,位于F島的核電站怜珍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏凤粗。R本人自食惡果不足惜酥泛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嫌拣。 院中可真熱鬧柔袁,春花似錦、人聲如沸异逐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)灰瞻。三九已至腥例,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酝润,已是汗流浹背燎竖。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留要销,地道東北人构回。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像疏咐,于是被迫代替她去往敵國(guó)和親纤掸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容