【发布时间】:2014-08-04 10:29:08
【问题描述】:
我有一个对象,我需要获取该对象的Type。我需要从已擦除的对象中获取 rawType。
例如我有一个班级
class Blah{}
class Dummy extends Blah{}
class A<T extends Blah>
{
}
i create a instance for A like this new A<Dummy>().
我需要获取创建对象的原始类型,我看到 Apache 有 TypeUtils getRawClass。但它需要一个 java 类型。我有实际的实例,但我如何从中获取类型。做 object.getClass() 似乎没有帮助,原始类型也没有恢复。不胜感激。
编辑: 感谢您的回复,就像下面的答案一样,它找不到任何获取实际类型的方法。保留该类型的唯一建议是使用超类型标记。 http://gafter.blogspot.com/2006/12/super-type-tokens.html
【问题讨论】:
-
这个
A.class.getTypeParameters()[0].getBounds()[0]将返回Blah
标签: java generics type-erasure raw-types