package ir.openuniverse;
public class Main {
public static void main(String[] args) throws NoSuchFieldException {
System.out.println(A.class.getField("t").getType().getName());
}
}
class A extends B<D> {}
class B<T extends C> {
public T t;
}
class C {}
class D extends C {}
输出是ir.openuniverse.C
。为什么?
发布于 2018-08-02 14:53:33
在编译期间,Java的类型删除更改
class B<T extends C> {
public T t;
}
到:
class B<C> {
public C t;
}
发布于 2018-08-02 16:38:51
最后,改变你的A
其定义为:
class A extends B<D> {
public D t;
}
https://stackoverflow.com/questions/-100008742
复制相似问题