欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java之如何獲取泛型參數

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

Java獲取泛型參數

對于一個基本的類

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

它的子類

public class StudentDao extends BaseDao<StudentDao.Student>{

    public static class Student{
    }

}

如何獲得當前類對應的泛型參數呢?

方法一 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);
}

總結

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

相關文章

  • SpringBoot詳細分析自動裝配原理并實現(xiàn)starter

    SpringBoot詳細分析自動裝配原理并實現(xiàn)starter

    相對于傳統(tǒng)意義上的Spring項目,SpringBoot具有開箱即用,簡化配置,內置Tomcat等等等等一系列的特點。在這些特點中,最重要的兩條就是約定優(yōu)于配置和自動裝配
    2022-07-07
  • MyBatis Example And與Or混合使用的實例

    MyBatis Example And與Or混合使用的實例

    這篇文章主要介紹了MyBatis Example And與Or混合使用的實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 一個合格JAVA軟件工程師應該具備什么

    一個合格JAVA軟件工程師應該具備什么

    一個合格JAVA軟件工程師應該具備哪些專業(yè)技能,面試技巧是什么?本文為大家分享了2016版最新Java軟件工程師就業(yè)思維圖,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 關于kafka消費不到遠程bootstrap-server?數據的問題

    關于kafka消費不到遠程bootstrap-server?數據的問題

    很多朋友遇到kafka消費不到遠程bootstrap-server?數據的問題,怎么解決這個問題,很多朋友不知所措,下面小編給大家?guī)砹岁P于kafka消費不到遠程bootstrap-server?數據的問題及解決方法,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • Java基于MySQL實現(xiàn)學生管理系統(tǒng)

    Java基于MySQL實現(xiàn)學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java基于MySQL實現(xiàn)學生管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • java異常中throw和throws的區(qū)別及說明

    java異常中throw和throws的區(qū)別及說明

    這篇文章主要介紹了java異常中throw和throws的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • SpringBoot導出PDF的四種實現(xiàn)方法詳解

    SpringBoot導出PDF的四種實現(xiàn)方法詳解

    在Spring?Boot應用程序中實現(xiàn)PDF導出功能,可以選擇多種庫和技術棧,本文為大家整理了四種常見的方法,感興趣的小伙伴可以參考一下
    2025-02-02
  • Java報錯:Java.io.FileNotFoundException解決方法

    Java報錯:Java.io.FileNotFoundException解決方法

    這篇文章主要介紹了Java.io.FileNotFoundException的產生原因和解決方法,造成這個報錯的原因可能有文件路徑錯誤、文件被刪除或移動和權限問題,文中將解決的辦法介紹的非常詳細,需要的朋友可以參考下
    2024-12-12
  • 如何在Redis中實現(xiàn)分頁排序查詢過程解析

    如何在Redis中實現(xiàn)分頁排序查詢過程解析

    這篇文章主要介紹了如何在Redis中實現(xiàn)分頁排序查詢過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot定制JSON響應數據返回的示例代碼

    SpringBoot定制JSON響應數據返回的示例代碼

    @JsonView 是 Jackson 庫中的一個注解,它允許你定義哪些屬性應該被序列化到 JSON 中,基于不同的“視圖”或“配置”,在本文中,通過了解@JsonView,你將能夠更好地掌握如何在Spring Boot應用中定制JSON數據的輸出,需要的朋友可以參考下
    2024-05-05

最新評論