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

Java之如何獲取泛型參數(shù)

 更新時間:2024年09月19日 10:34:42   作者:賺夠壹仟萬  
在Java開發(fā)中,獲取泛型參數(shù)一般有兩種方法:第一種是通過JDK自帶的API,主要利用反射機制來獲取類的泛型信息;第二種方法是借助Spring框架提供的GenericTypeResolver工具類,這種方式更加簡便,這兩種方法都能有效地幫助開發(fā)者在運行時獲取到泛型參數(shù)

Java獲取泛型參數(shù)

對于一個基本的類

public class BaseDao<T>{
    T findOne() {
        return T;
    }
}

它的子類

public class StudentDao extends BaseDao<StudentDao.Student>{

    public static class Student{
    }

}

如何獲得當(dāng)前類對應(yīng)的泛型參數(shù)呢?

方法一 JDK

public static void main(String[] args) throws Exception {
    // 可以拿到帶有泛型信息的父類
    Type genericSuperclass = StudentDao.class.getGenericSuperclass();
    // 這里要判斷一手如果你的父類確實有泛型信息
    if (genericSuperclass instanceof ParameterizedType parameterizedType) {
        Type[] typeArguments = parameterizedType.getActualTypeArguments();
        System.out.println(typeArguments[0]);
    }
}

方法二 spring提供的方式

通過GenericTypeResolver獲得.

public static void main(String[] args) throws Exception {
   Class<?> t = GenericTypeResolver.resolveTypeArgument(StudentDao.class, BaseDao.class);
   System.out.println(t);
}

總結(jié)

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

相關(guān)文章

  • 解決mybatis plus報錯Invalid bound statement (not found):問題

    解決mybatis plus報錯Invalid bound statement 

    在使用MyBatis時遇到InvalidBoundStatement異常,常因多個MapperScan配置沖突或者包掃描路徑設(shè)置錯誤,解決方法包括保留一個MapperScan聲明、檢查jar包沖突、確保命名空間和掃描路徑正確,使用@TableId注解指定主鍵
    2024-11-11
  • Spring Boot 啟動失敗:循環(huán)依賴排查到懶加載配置的過程解析

    Spring Boot 啟動失敗:循環(huán)依賴排查到懶加載配置的過程解析

    本文我將從一個真實的生產(chǎn)環(huán)境故障案例出發(fā),帶你深入了解Spring Boot循環(huán)依賴的檢測機制、排查方法和解決方案,通過系統(tǒng)性分析和實戰(zhàn)演練幫助掌握如何在復(fù)雜的應(yīng)用中處理循環(huán)依賴,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • jdk自帶定時器使用方法詳解

    jdk自帶定時器使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了jdk自帶定時器的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • mybatis-plus樂觀鎖實現(xiàn)方式詳解

    mybatis-plus樂觀鎖實現(xiàn)方式詳解

    這篇文章主要介紹了mybatis-plus樂觀鎖實現(xiàn)方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • SpringBoot中使用 RabbitMQ的教程詳解

    SpringBoot中使用 RabbitMQ的教程詳解

    這篇文章主要介紹了SpringBoot中使用 RabbitMQ的教程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • MyBatis批量添加數(shù)據(jù)2種實現(xiàn)方法

    MyBatis批量添加數(shù)據(jù)2種實現(xiàn)方法

    這篇文章主要介紹了MyBatis批量添加數(shù)據(jù)2種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • java調(diào)用短信貓發(fā)短信示例

    java調(diào)用短信貓發(fā)短信示例

    這篇文章主要介紹了java調(diào)用短信貓發(fā)短信示例,需要的朋友可以參考下
    2014-04-04
  • redis分布式鎖的原理及代碼實例

    redis分布式鎖的原理及代碼實例

    這篇文章主要介紹了redis分布式鎖的原理及代碼實例,Redis作為一款高性能內(nèi)存數(shù)據(jù)庫,其提供了一種非常實用的分布式鎖解決方案,可以幫助開發(fā)人員輕松地實現(xiàn)分布式鎖功能,對于分布式系統(tǒng)的開發(fā)和維護,具有非常大的實用價值,需要的朋友可以參考下
    2024-01-01
  • Java集合的組內(nèi)平均值的計算方法總結(jié)

    Java集合的組內(nèi)平均值的計算方法總結(jié)

    在Java中,經(jīng)常需要對集合進(jìn)行各種操作,其中之一就是計算集合的組內(nèi)平均值,本文將介紹如何使用Java集合來計算組內(nèi)平均值,并提供一些示例代碼和實用技巧
    2024-08-08
  • Spring AI 實現(xiàn) STDIO和SSE MCP Server的過程詳解

    Spring AI 實現(xiàn) STDIO和SSE MCP Server的過

    STDIO方式是基于進(jìn)程間通信,MCP Client和MCP Server運行在同一主機,主要用于本地集成、命令行工具等場景,這篇文章主要介紹了Spring AI 實現(xiàn) STDIO和SSE MCP Server,需要的朋友可以參考下
    2025-05-05

最新評論

应用必备| 民乐县| 大邑县| 九寨沟县| 宿迁市| 五寨县| 巩留县| 响水县| 巴中市| 搜索| 古田县| 科技| 岳阳县| 广河县| 华安县| 宜宾县| 元谋县| 鄂温| 会理县| 米易县| 大荔县| 寻乌县| 固镇县| 镇雄县| 加查县| 乡城县| 黄冈市| 雷波县| 阿合奇县| 大埔县| 青田县| 文水县| 江津市| 明溪县| 蒲城县| 余庆县| 集贤县| 梁河县| 东海县| 横山县| 垣曲县|