如何从泛型类型中获取Class对象?

时间:2012-04-17 15:45:04

标签: java class generics

  

可能重复:
  Get class of generic

我正在尝试这样做:

public static<T extends Object> T perform(){
    Class<T> classObject = T.class;
    Class<T> classObjectAgain = T.getClass();
    //...
}

我认为“extends Object”会让我访问.class和getClass()...... 然而,这不编译:“非法类lateral”

你知道我怎么能进行这样的手术吗?

1 个答案:

答案 0 :(得分:1)

Java Generics是通过类型擦除实现的(因为它们只出现在Java 5中,所以选择了这种类型的实现来支持遗留代码)。

这意味着在运行时,所有泛型类型实际上都是Object类型。因此,您无法在运行时使用反射来获取有关参数化对象的信息。