Java 獲取一個對象的泛型Class

注意點:obj必須是class對象,不能是接口對象。而且這只是獲取該對象的第一個泛型。 

 /**
     * 獲取泛型類型
     *
     * @param obj
     * @return
     */
    public static Type getParameterizedTypeClass(Object obj) {
        if (obj == null) {
            return null;
        }
        ParameterizedType pt = (ParameterizedType) obj.getClass().getGenericSuperclass();
        Type[] atr = pt.getActualTypeArguments();
        try {
            if (atr != null && atr.length > 0) {
                return atr[0];
            }
        } catch (Exception e) {
            Log.e(TAG,"getParameterizedTypeClass error");
        }
        return null;
    }

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章