ing 发表于 2020-8-7 09:42

父类变量是泛型,泛型无法从父类中获取?

本帖最后由 ing 于 2020-9-7 10:31 编辑


在父类是泛型类型的情况下,子类的class文件中保存了父类的泛型;
并且给定一个变量ArrayList<Integer> p,无法从p中获取到Integer类型。

这样,获取泛型似乎只能从子类着手,但这里调用 .getGenericSuperclass(); 该方法返回当前对象的超类,也就是Integer.Class的父类


getGenericSuperclass() 获取带泛型的父类
getSuperclass() 获取父类
这两个方法仅仅只是泛型上有差别?(已解决)文档关于返回值的介绍都是返回超类
________________________________________________________________________________________________________________________________
getGenericSuperclass()返回值是Type类型
getSuperclass()返回值是Class类型



在线编辑代码
https://www.tutorialspoint.com/compile_java_online.php

pzx521521 发表于 2020-8-7 11:00

文档关于返回值的介绍都是返回超类-> 不对哦~
一个是Returns the Type
一个是Returns the Class
明显只有Type才可以看到泛型
https://docs.oracle.com/en/java/ ... ava/lang/Class.html

getGenericSuperclass()      
Returns the Type representing the direct superclass of the entity (class, interface, primitive type or void) represented by this Class.
getSuperclass()      
Returns the Class representing the direct superclass of the entity (class, interface, primitive type or void) represented by this Class.

页: [1]
查看完整版本: 父类变量是泛型,泛型无法从父类中获取?