泛型

很多年前就接觸泛型了(那時候用的是清華大學(xué)出版社出版的JAVA SE 2.0一本紫色封面的書)對于泛型的理解僅限于的形式男娄,至于泛型的運(yùn)行機(jī)制,泛型與JVM的關(guān)系沒有過多的介紹,可能是作者覺得不重要吧(忍不住吐槽沪伙,太坑)

廢話不多說:我真正學(xué)習(xí)泛型是在工作一年之后瓮顽,我發(fā)現(xiàn)大神寫的代碼帶了一堆的尖括號,看都看不懂自慚形愧围橡,甚至懷疑自己是不是科班出身的

Q1:為什么要使用泛型程序設(shè)計(jì)

為了實(shí)現(xiàn)代碼可以被多種類型的對象復(fù)用暖混。例如ArrayList , T作為類型參數(shù)可以是Integer或者String自定義類也可以。

Q2:泛型程序設(shè)計(jì)的優(yōu)點(diǎn)

1.省掉了強(qiáng)制類型轉(zhuǎn)換翁授,這也是我對于泛型認(rèn)識的唯一印象

沒有泛型之前代碼要這么寫,如果你的同事不告訴你ArrayList實(shí)際存的什么類型的拣播,恭喜你中獎了。收擦。贮配。。

ArrayListnameList =newArrayList(100);//add names

Stringsome = (String) nameList.get(0);

有泛型以后塞赂,使代碼的可讀性和安全性更好

ArrayListnameList =newArrayList(100);

2.泛型類和泛型方法

泛型類:

publicclassPair { ... }

publicclassArrayAlg {

????public staticTgetMiddle(T...a){

????????returna[a.length/2];

????}

}

Stringmidle = ArrayAlg.getMiddle("a","b","c");

泛型方法中類型變量放在修飾符(public static)后面放在返回值類型前面泪勒。

3.關(guān)鍵字extends作進(jìn)一步限定,如果類型T沒有實(shí)現(xiàn)Comparable接口那么調(diào)用min.compareTo(..)就會報(bào)錯

public static Pairminmax(T[] a){

????if(a ==null|| a.length==0)

????????return null;

????Tmin = a[0];

????Tmax = a[0];

????for(inti =0;i < a.length;i++){

????????if(min.compareTo(a[i]) >0) min = a[i];

????????if(max.compareTo(a[i]) <0) min = a[i];

????}

????return newPair<>(min,max);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宴猾,一起剝皮案震驚了整個濱河市圆存,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仇哆,老刑警劉巖沦辙,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異讹剔,居然都是意外死亡油讯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門延欠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陌兑,“玉大人,你說我怎么就攤上這事衫冻【魑桑” “怎么了谒出?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵隅俘,是天一觀的道長。 經(jīng)常有香客問我笤喳,道長为居,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任杀狡,我火速辦了婚禮蒙畴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己膳凝,他們只是感情好碑隆,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蹬音,像睡著了一般上煤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上著淆,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天劫狠,我揣著相機(jī)與錄音,去河邊找鬼永部。 笑死独泞,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的苔埋。 我是一名探鬼主播懦砂,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼组橄!你這毒婦竟也來了孕惜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤晨炕,失蹤者是張志新(化名)和其女友劉穎衫画,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瓮栗,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡削罩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了费奸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弥激。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖愿阐,靈堂內(nèi)的尸體忽然破棺而出微服,到底是詐尸還是另有隱情,我是刑警寧澤缨历,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布以蕴,位于F島的核電站,受9級特大地震影響辛孵,放射性物質(zhì)發(fā)生泄漏丛肮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一魄缚、第九天 我趴在偏房一處隱蔽的房頂上張望宝与。 院中可真熱鬧焚廊,春花似錦、人聲如沸习劫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诽里。三九已至搞疗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間须肆,已是汗流浹背匿乃。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豌汇,地道東北人幢炸。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像拒贱,于是被迫代替她去往敵國和親宛徊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

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

  • 引言:泛型一直是困擾自己的一個難題逻澳,但是泛型有時一個面試時老生常談的問題闸天;今天作者就通過查閱相關(guān)資料簡單談?wù)勛约簩?..
    cp_insist閱讀 1,847評論 0 4
  • 泛型的定義及使用 1. 定義泛型: 2. 類中使用泛型 3. 使用泛型類 4. 使用泛型的優(yōu)勢? 多泛型變量的定義...
    xue57233閱讀 436評論 0 1
  • object 變量可指向任何類的實(shí)例斜做,這讓你能夠創(chuàng)建可對任何數(shù)據(jù)類型進(jìn)程處理的類苞氮。然而,這種方法存在幾個嚴(yán)重的問題...
    CarlDonitz閱讀 917評論 0 5
  • 引言 泛型是Java中一個非常重要的知識點(diǎn)瓤逼,在Java集合類框架中泛型被廣泛應(yīng)用笼吟。本文我們將從零開始來看一下Jav...
    橫沖直撞666閱讀 427評論 0 0
  • 一個老是受班上同學(xué)欺負(fù)的瘦弱小男孩,因?yàn)閾碛幸环N特殊能力而強(qiáng)大:他能“ 偷別人的影子” 霸旗,因而能看見他人心事贷帮,聽...
    Hayley__閱讀 265評論 0 0