我有一个泛型类Foo<T>
。在一种方法中Foo
,我想获取type
的类实例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的类实例,但是我不能调用。 使用它解决问题的首选方法是什么? 问题答案: 简短的答案是,无法找到Java中泛型类型参数的运行时类型。我建议阅读Java教程中有关类型擦除的章节以获取更多详细信息。 一个流行的解决方案是将type参数的传递给泛型类型的构造函数,例如
如果我试图得到 我得到错误的错误只允许类的左边的类文字。我已经搜索,仍然没有找到如何获得泛型类的类型在Kotlin。
我需要能够在运行时告诉kotlin集合的泛型类型。我怎么做?
只能在类文本的左侧使用类 是否可以像在C#中那样对泛型参数提供类约束,或者是否可以使用其他语法来获取泛型参数的类型信息?
目前,我使用这个解决方案,使用,而不是:
问题内容: 我上课了。我怎么能说我想成为某个班级的实施者?编写根本无法编译。 问题答案: 使用代替。