@Test
public void test() throw ClassNotFounndException{
Class clazz = Class.forName();
//获取带泛型的父类(Type是一个接口,Class实现了此接口)
Type superclass = clazz.getGenericSuperclass();
//如果父类是带泛型的,则可以强转为ParameterizedType
ParameterizedType paramType = (ParameterizedType)superclass;
//调用getActualTypeArguments()获取泛型的参数,结果是一个数组,因为可能有多个泛型参数
Type[] arguments = paramType.getActualTypeArguments();
//获取泛型参数的名称
System.out.println(((Class)arguments[i]).getName());
}
获取运行时类的父类的泛型
最新推荐文章于 2024-02-13 21:13:56 发布