java 通过反射获取泛型的类型(一句话)

假如你有一个类B<T>想得到这个类的泛型T的类型只要加入下面两句话

ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
Class<T> clazz = (Class<T>) pt.getActualTypeArguments()[0];

 此时clazz内就是泛型<T>的真实类型,

可以这么得到泛型的实际限定名

String className = clazz.getCanonicalName();

 这个className里面就是泛型<T>的限定名了

你可能感兴趣的:(java,泛型,反射)