Java 运行时如何获取泛型参数的类型
在 Java 中对于下面最简单的泛型类
class A
{
public void foo() {
//如何在此处获得运行时 T 的具体类型呢?
}
}
设想我们使用时
new A
().foo();
是否能在 foo()
方法中获得当前的类型是 String 呢?答案是否定的,不能。在 foo()
方法中 this 引用给不出类型信息,this.getClass()
就更不可能了,因为 Java 的泛型不等同于 C++ 的模板类,this.getClass()
实例例是被所有的不同具体类型的 A 实例(new A
我们可以在 IDE 的调试时看到这个泛型类的签名
阅读全文 >>
还没有评论,来说两句吧...