Java中與泛型相關(guān)的接口 之 ParameterizedType

在閱讀本文之前可以先閱讀以下三篇,以便對Java中的泛型有一個全局的認識:

  1. Java中與泛型相關(guān)的接口 之 術(shù)語定義
  2. Java中與泛型相關(guān)的接口 之 綜述
  3. Type及其子接口的來歷

簡介

ParameterizedType是Type的子接口奠货,表示一個有參數(shù)的類型优烧,例如Collection<T>搅荞,Map<K,V>等。但實現(xiàn)上 ParameterizedType并不直接表示Collection<T>和Map<K,V>等,而是表示 Collection<String>和Map<String,String>等這種具體的類型夫晌。是不是看著眼熟泣棋,其實這就是我們常說的泛型胶哲。而ParameterizedType代表的是一個泛型的實例,我們就稱ParameterizedType為“泛型實例”吧外傅。

當創(chuàng)建泛型P(如:Collection<String>)時纪吮,將解析P實例化的泛型類型聲明(如:Collection<T>),并且遞歸地創(chuàng)建P的所有泛型參數(shù)(如:String)萎胰。

實現(xiàn)這個接口的“類”必須實現(xiàn)一個equals()方法碾盟,該方法將任何“泛型類型”(如:Collection<T>)聲明相同且“類型參數(shù)”(如:String)也相同的兩個“類”等同起來。

Type[] getActualTypeArguments()

獲取“泛型實例”中<>里面的“泛型變量”(也叫類型參數(shù))的值技竟,這個值是一個類型冰肴。因為可能有多個“泛型變量”(如:Map<K,V>),所以返回的是一個Type[]。

注意:無論<>中有幾層<>嵌套榔组,這個方法僅僅脫去最外層的<>熙尉,之后剩下的內(nèi)容就作為這個方法的返回值,所以其返回值類型是不確定的搓扯。

煮個栗子:

  1. List<ArrayList> a1;//返回ArrayList检痰,Class類型
  2. List<ArrayList<String>> a2;//返回ArrayList<String>,ParameterizedType類型
  3. List<T> a3;//返回T锨推,TypeVariable類型
  4. List<? extends Number> a4; //返回? extends Number铅歼,WildcardType類型
  5. List<ArrayList<String>[]> a5;//返回ArrayList<String>[]公壤,GenericArrayType 類型

Type getRawType()

返回最外層<>前面那個類型,即Map<K ,V>的Map椎椰。

Type getOwnerType()

獲得這個類型的所有者的類型厦幅。這主要是對嵌套定義的內(nèi)部類而言的,例如于對java.util.Map.Entry<K,V>來說慨飘,調(diào)用getOwnerType方法返回的就是interface java.util.Map确憨。

如果當前類不是內(nèi)部類,而是一個頂層類瓤的,那么getOwnerType方法將返回null休弃。

1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市圈膏,隨后出現(xiàn)的幾起案子玫芦,更是在濱河造成了極大的恐慌,老刑警劉巖本辐,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桥帆,死亡現(xiàn)場離奇詭異,居然都是意外死亡慎皱,警方通過查閱死者的電腦和手機老虫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茫多,“玉大人祈匙,你說我怎么就攤上這事√煲荆” “怎么了夺欲?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長今膊。 經(jīng)常有香客問我些阅,道長,這世上最難降的妖魔是什么斑唬? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任市埋,我火速辦了婚禮,結(jié)果婚禮上恕刘,老公的妹妹穿的比我還像新娘缤谎。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甲捏,像睡著了一般券盅。 火紅的嫁衣襯著肌膚如雪频敛。 梳的紋絲不亂的頭發(fā)上镣陕,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音姻政,去河邊找鬼。 笑死岂嗓,一個胖子當著我的面吹牛汁展,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播厌殉,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼食绿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了公罕?” 一聲冷哼從身側(cè)響起器紧,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎楼眷,沒想到半個月后铲汪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡罐柳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年掌腰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片张吉。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡齿梁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肮蛹,到底是詐尸還是另有隱情勺择,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布伦忠,位于F島的核電站省核,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏昆码。R本人自食惡果不足惜芳撒,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望未桥。 院中可真熱鬧笔刹,春花似錦、人聲如沸冬耿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽亦镶。三九已至日月,卻和暖如春袱瓮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背爱咬。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工尺借, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人精拟。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓燎斩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蜂绎。 傳聞我的和親對象是個殘疾皇子栅表,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350