public class TestGen extends FatherTestGen<String> {}
表示TestGen继承自泛型父类FatherTestGen<String>
Type genType = TestGen.class.getGenericSuperclass() ——得到TestGen的泛型父类FatherTestGen<String>
Type[] types = ((ParameterizedType) genType).getActualTypeArguments(); ——得到泛型父类操作的泛型类型数组
if (!(types[0] instanceof Class)) { ——如果数组中第一种类型不是Class类型
return Object.class; ——就表示它是最顶层的Object类型
}
return (Class) types[0]; ——否则返回此种类型
——实现泛型接口的类必须是泛型类,继承泛型父类的类不一定是泛型类。
本文通过一个具体的Java代码示例,详细解释了如何获取一个类继承自泛型父类的具体类型参数,并展示了如何判断该类型参数是否为Class类型。此过程对于理解Java泛型的工作原理及其实现细节非常有帮助。
561

被折叠的 条评论
为什么被折叠?



