如何将泛型类型T
转换为Class<T>
对象?
类似于Class<T> T.class
或Class<T> T.getClass()
这样的语法是不正确的,因为T
不是一个变量。
应该写成下面这样的函数:
public Class<T> getType() {
return // Class of T
}
背景信息:我有一些类Class1<T>
,Class2<T>
等,它们都extend ParentClass<T>
。ParentClass
有函数getType()
。我正在寻找一种更优雅的方法来获取类型,而不是只创建一个变量Class<?> type
并以这种方式保存类型。