如何获得泛型类型T的类实例
我有一个泛型类Foo<T>
。在一种方法中Foo
,我想获取类型T的类实例,但是我不能调用T.class
。
使用它解决问题的首选方法是什么T.class
?
回答:
简短的答案是,无法找到Java中泛型类型参数的运行时类型。我建议阅读Java教程中有关类型擦除的章节以获取更多详细信息。
一个流行的解决方案是Class
将type参数的传递给泛型类型的构造函数,例如
class Foo<T> { final Class<T> typeParameterClass;
public Foo(Class<T> typeParameterClass) {
this.typeParameterClass = typeParameterClass;
}
public void bar() {
// you can access the typeParameterClass here and do whatever you like
}
}
以上是 如何获得泛型类型T的类实例 的全部内容, 来源链接: utcz.com/qa/422380.html