最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何獲取Java集合中泛型的Class對象

 更新時(shí)間:2025年06月21日 10:24:26   作者:?abc!  
這篇文章主要介紹了如何獲取Java集合中泛型的Class對象問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

獲取Java集合中泛型的Class對象

直接獲取時(shí)獲取不到的,類型被虛擬機(jī)擦除了

  • 泛型的正常工作是依賴編譯器在編譯源碼的時(shí)候,先進(jìn)行類型檢查,然后進(jìn)行類型擦除并且在類型參數(shù)出現(xiàn)的地方插入強(qiáng)制轉(zhuǎn)換的相關(guān)指令實(shí)現(xiàn)的。編譯器在編譯時(shí)擦除了所有類型相關(guān)的信息,所以在運(yùn)行時(shí)不存在任何類型相關(guān)的信息。例如List在運(yùn)行時(shí)僅用一個(gè)List類型來表示。為什么要進(jìn)行擦除呢?這是為了避免類型膨脹。

利用子類實(shí)現(xiàn)父類的泛型是可以的

如何才能獲取到泛型的類型

  • 必須具有真實(shí)類型的存在
  • 泛型的類型是明確的如 (List <User> 是明確的,List<T> 是不明確的)

嘗試

如果直接使用getClass等方法,會出現(xiàn)下面的情況

這個(gè)是獲取不到類型的

但是換成下面的方式,便可以獲?。菏褂孟逻呥@組大括號,這一點(diǎn)非常重要

換一種類型,一樣的情況

所以,可以通過上面的方式去獲取類型

上面的這種方法的思路為:利用子類實(shí)現(xiàn)父類的泛型是可以的

通過獲取第一個(gè)元素去判斷當(dāng)前屬于哪一種類型即可

很多情況下,按下面的思路去操作即可

public static void main(String[] args) {

        List<String> strs = new ArrayList<>();
        strs.add("xxx");

        List<Integer> ins = new ArrayList<>();
        ins.add(1);

        List<Boolean> boos = new ArrayList<>();
        boos.add(true);

        List<Long> lons = new ArrayList<>();
        lons.add(null);

        System.out.println(((List<?>)strs).get(0) instanceof String);//true
        System.out.println(((List<?>)ins).get(0) instanceof String);//false
        System.out.println(((List<?>)boos).get(0) instanceof Boolean);//true
        System.out.println(((List<?>)lons).get(0) instanceof Long);//false

    }

其他的直接去判斷,通過查找并嘗試,沒有找到符合我要求的,怎么通過上面的方法去暫時(shí)實(shí)現(xiàn)了

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot調(diào)用DeepSeek接口的實(shí)現(xiàn)

    SpringBoot調(diào)用DeepSeek接口的實(shí)現(xiàn)

    本文主要介紹了SpringBoot調(diào)用DeepSeek接口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 一文帶你掌握J(rèn)ava如何自動化生成目錄結(jié)構(gòu)文檔

    一文帶你掌握J(rèn)ava如何自動化生成目錄結(jié)構(gòu)文檔

    這篇文章主要為大家詳細(xì)介紹了Java如何自動化生成目錄結(jié)構(gòu)文檔,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-01-01
  • java如何獲取文件或目錄的路徑

    java如何獲取文件或目錄的路徑

    介紹了幾種獲取項(xiàng)目路徑的方法,包括System.getProperty("user.dir")、類加載器getResource()、file.getPath()和file.getCanonicalPath(),并比較了它們的優(yōu)缺點(diǎn),推薦使用System.getProperty("user.dir")更為方便
    2025-11-11
  • Java讀寫ini文件代碼示例

    Java讀寫ini文件代碼示例

    這篇文章主要介紹了Java讀寫ini文件代碼示例,分享了相關(guān)代碼示例及相關(guān)注釋,小編覺得還是挺不錯的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 使用Java輕松判斷一個(gè)5位數(shù)是否為回文數(shù)

    使用Java輕松判斷一個(gè)5位數(shù)是否為回文數(shù)

    在編程中,回文數(shù)是一個(gè)正讀和反讀都相同的數(shù)字,本文將介紹如何使用Java編寫一個(gè)程序來判斷一個(gè)5位數(shù)是否為回文數(shù),感興趣的小伙伴可以了解下
    2026-03-03
  • Java正則表達(dá)式匹配電話格式

    Java正則表達(dá)式匹配電話格式

    正則表達(dá)式是由普通的字符以及特殊字符組成的文字模式,用來在查找文字主體時(shí)待匹配的一個(gè)或多個(gè)字符串。本文給大家介紹java正則表達(dá)式匹配電話格式,對java正則表達(dá)式匹配相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • java實(shí)現(xiàn)簡單的拼圖游戲

    java實(shí)現(xiàn)簡單的拼圖游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單的拼圖游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java讀取resources目錄下文件路徑的九種代碼示例教程

    Java讀取resources目錄下文件路徑的九種代碼示例教程

    在Java開發(fā)中經(jīng)常需要讀取項(xiàng)目中resources目錄下的文件或獲取資源路徑,這篇文章主要給大家介紹了關(guān)于Java讀取resources目錄下文件路徑的九種代碼示例教程,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • java解析XML Node與Element的區(qū)別(推薦)

    java解析XML Node與Element的區(qū)別(推薦)

    下面小編就為大家分享一篇java解析XML Node與Element的區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Java中HashMap里面key為null存放到哪

    Java中HashMap里面key為null存放到哪

    這篇文章主要介紹了Java中HashMap里面key為null存放到哪,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評論

唐山市| 古交市| 西林县| 寻甸| 五寨县| 元朗区| 光泽县| 怀远县| 高淳县| 革吉县| 徐闻县| 方正县| 遵化市| 横峰县| 崇州市| 新巴尔虎左旗| 灵山县| 大田县| 河北区| 淮南市| 云龙县| 阿勒泰市| 甘洛县| 盐城市| 镇平县| 吴桥县| 北宁市| 镇平县| 广饶县| 安阳市| 哈巴河县| 佳木斯市| 商河县| 长春市| 阜新市| 朝阳县| 广灵县| 女性| 青浦区| 鹰潭市| 杭锦旗|