簡(jiǎn)單介紹一下java中的泛型,泛型擦除以及相關(guān)的概念。

泛型是Java SE 1.5的新特性,泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個(gè)參數(shù)。這種參數(shù)類型可以用在類、接口和方法的創(chuàng)建中,分別稱為泛型類、泛型接口、泛型方法。 Java語言引入泛型的好處是安全簡(jiǎn)單。

在Java SE 1.5之前,沒有泛型的情況的下,通過對(duì)類型Object的引用來實(shí)現(xiàn)參數(shù)的“任意化”,“任意化”帶來的缺點(diǎn)是要做顯式的強(qiáng)制類型轉(zhuǎn)換,而這種轉(zhuǎn)換是要求開發(fā)者對(duì)實(shí)際參數(shù)類型可以預(yù)知的情況下進(jìn)行的。對(duì)于強(qiáng)制類型轉(zhuǎn)換錯(cuò)誤的情況,編譯器可能不提示錯(cuò)誤,在運(yùn)行的時(shí)候才出現(xiàn)異常,這是一個(gè)安全隱患。

泛型的好處是在編譯的時(shí)候檢查類型安全,并且所有的強(qiáng)制轉(zhuǎn)換都是自動(dòng)和隱式的,提高代碼的重用率。

1、泛型的類型參數(shù)只能是類類型(包括自定義類),不能是簡(jiǎn)單類型。

2、同一種泛型可以對(duì)應(yīng)多個(gè)版本(因?yàn)閰?shù)類型是不確定的),不同版本的泛型類實(shí)例是不兼容的。

3、泛型的類型參數(shù)可以有多個(gè)。

4、泛型的參數(shù)類型可以使用extends語句,例如。習(xí)慣上稱為“有界類型”。

5、泛型的參數(shù)類型還可以是通配符類型。例如Class classType = Class.forName("java.lang.String");

泛型擦除以及相關(guān)的概念

Java中的泛型基本上都是在編譯器這個(gè)層次來實(shí)現(xiàn)的。在生成的Java字節(jié)碼中是不包含泛型中的類型信息的。使用泛型的時(shí)候加上的類型參數(shù),會(huì)在編譯器在編譯的時(shí)候去掉。這個(gè)過程就稱為類型擦除。

類型擦除引起的問題及解決方法

1、先檢查,在編譯,以及檢查編譯的對(duì)象和引用傳遞的問題

2、自動(dòng)類型轉(zhuǎn)換

3、類型擦除與多態(tài)的沖突和解決方法

4、泛型類型變量不能是基本數(shù)據(jù)類型

5、運(yùn)行時(shí)類型查詢

6、異常中使用泛型的問題

7、數(shù)組(這個(gè)不屬于類型擦除引起的問題)

9、類型擦除后的沖突

10、泛型在靜態(tài)方法和靜態(tài)類中的問題

鏈接:http://www.itdecent.cn/p/251b1bf72cd8

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 泛型是Java 1.5引入的新特性。泛型的本質(zhì)是參數(shù)化類型,這種參數(shù)類型可以用在類、變量、接口和方法的創(chuàng)建中,分別...
    何時(shí)不晚閱讀 3,115評(píng)論 0 2
  • 文章作者:Tyan博客:noahsnail.com 1. 什么是泛型 Java泛型(Generics)是JDK 5...
    SnailTyan閱讀 835評(píng)論 0 3
  • 引言:泛型一直是困擾自己的一個(gè)難題,但是泛型有時(shí)一個(gè)面試時(shí)老生常談的問題;今天作者就通過查閱相關(guān)資料簡(jiǎn)單談?wù)勛约簩?duì)...
    cp_insist閱讀 1,933評(píng)論 0 4
  • 一、為什么要使用泛型 1.類型參數(shù)的好處 類型安全:泛型的主要目標(biāo)是提高 Java 程序的類型安全。通過知道使用泛...
    SeanMa閱讀 7,267評(píng)論 1 18
  • 全心全力于工作 盡心盡力致學(xué)習(xí)
    一日蜉蝣君閱讀 188評(píng)論 0 2

友情鏈接更多精彩內(nèi)容