Java 获取一个对象的泛型Class

2022-08-13 08:55:28

注意点: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;
    }
  • 作者:wljian1
  • 原文链接:https://blog.csdn.net/wljian1/article/details/105957407
    更新时间:2022-08-13 08:55:28