<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java獲取泛型class

    文檔

    java獲取泛型class

    java獲取泛型class的方法一共有兩種:1、Class類:public Type getGenericSuperclass();2、ParameterizedType類:Type[] getActualTypeArguments()。
    推薦度:
    導讀java獲取泛型class的方法一共有兩種:1、Class類:public Type getGenericSuperclass();2、ParameterizedType類:Type[] getActualTypeArguments()。

    很多朋友都想知道java怎么獲取泛型class?下面就一起來了解一下吧~

    獲取泛型Class的方法

    Class類的方法:

    public?Type?getGenericSuperclass()

    方法作用:

    如果超類是參數化類型,則返回的 Type 對象必須準確反映源代碼中所使用的實際類型參數。如果以前未曾創建表示超類的參數化類型,則創建這個類型。有關參數化類型創建過程的語義,請參閱 ParameterizedType 聲明。如果此 Class 表示 Object 類、接口、基本類型或 void,則返回 null。如果此對象表示一個數組類,則返回表示 Object 類的 Class 對象。

    ParameterizedType類的方法:

    Type[] getActualTypeArguments()

    方法作用:返回表示此類型實際類型參數的?Type?對象的數組。

    注意,在某些情況下,返回的數組為空。如果此類型表示嵌套在參數化類型中的非參數化類型,則會發生這種情況。

    二、獲取泛型Class對象

    (解析Excel的類代碼較多,這里定義幾個簡單的類記錄)

    定義獲取泛型Class對象的工具類

    GenericSuperclassUtil

    import?java.lang.reflect.ParameterizedType;
    import?java.lang.reflect.Type;
    public?class?GenericSuperclassUtil?{
    /*
    *?獲取泛型類Class對象,不是泛型類則返回null
    */
    public?static?Class?getActualTypeArgument(Class?clazz)?{
    Class?entitiClass?=?null;
    Type?genericSuperclass?=?clazz.getGenericSuperclass();
    if?(genericSuperclass?instanceof?ParameterizedType)?{
    Type[]?actualTypeArguments?=?((ParameterizedType)?genericSuperclass)
    .getActualTypeArguments();
    if?(actualTypeArguments?!=?null?&&?actualTypeArguments.length?>?0)?{
    entitiClass?=?(Class)?actualTypeArguments[0];
    }
    }
    return?entitiClass;
    }
    }

    定義BaseService,用來測試不使用父類時泛型Class的獲取

    BaseService

    public?class?BaseService?{
    public?Class?getEntityClass()?{
    return?GenericSuperclassUtil.getActualTypeArgument(this.getClass());
    }
    }

    測試BaseService.getEntityClass()

    @Testpublic?void?testBaseService()?{
    System.out.println(new?BaseService().getEntityClass());//?控制臺輸出:null
    }

    以上就是小編今天的分享,希望可以幫到大家。

    文檔

    java獲取泛型class

    java獲取泛型class的方法一共有兩種:1、Class類:public Type getGenericSuperclass();2、ParameterizedType類:Type[] getActualTypeArguments()。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java core java獲取秒級時間戳 java crash java獲取網絡時間 java crontab java獲取視頻時長 java csrf java獲取請求域名 java獲取路徑 java cssbox java獲取運行時間 java ctp java獲取隨機字符串 java daemon java獲取隨機數 java dashboard java獲得當前路徑 java表單校驗 java dataframe java規則引擎 java corba java cookie java獲取本地ip java controller java獲取本周日期 java context japanese java 微信怎么群發消息 java獲取時間差 java獲取文件名后綴 微博賬號怎么注銷 excel如何換行 java獲取當月最后一天日期 excel去重 java獲取當前項目的路徑 QQ怎么強制解綁手機號 java獲取當前路徑的幾種方法 華為手機怎么添加桌面小組件 java獲取當前目錄路徑 java獲取當前目錄
    Top 精品亚洲成A人无码成A在线观看| re99热久久这里只有精品| 中文成人无码精品久久久不卡| 国产精品福利一区二区久久| 999精品视频这里只有精品| 真实国产精品视频国产网| 99re5精品视频在线观看| 久久国产精品偷99| 日韩成人精品日本亚洲| 精品久久久久久无码专区| 国内精品综合久久久40p| 国产成人亚洲精品电影| .精品久久久麻豆国产精品| 国产成人vr精品a视频| 精品久久久久久无码国产| 国产视频精品免费| 97精品久久天干天天天按摩| 亚洲国产精品久久久久婷婷老年 | 99精品国产高清一区二区| 国产精品亚洲美女久久久| 精品三级内地国产在线观看| 国产精品久久久久久麻豆一区| 国产成人精品日本亚洲网站| 久久亚洲国产成人精品无码区| 国产大片51精品免费观看| 精品区2区3区4区产品乱码9| 亚洲国产精品午夜电影| 久久久久久久99精品国产片 | 久久精品无码一区二区三区不卡| 亚洲天堂久久精品| 国产综合精品一区二区三区| 精品国产一区二区22| 九色国产在视频线精品视频 | 国产精品久操视频| 国产精品无码专区在线播放| 在线精品亚洲一区二区| 精品国产一二三区在线影院| 91精品国产综合久久香蕉| 3d动漫精品啪啪一区二区中| 99久久精品国产片久人| 久久国产精品萌白酱免费|