亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

Java獲取泛型參數(shù)

對于一個(gè)基本的類

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();
    // 這里要判斷一手如果你的父類確實(shí)有泛型信息
    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é)

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

相關(guān)文章

最新評論