2012-04-17 124 views
-1

可能重复:
Get class of generic如何从泛型类型获取类对象?

我试图做到这一点:

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

我想到了 “扩展对象” 会给我带来访问的.class和getClass()... 但是,这不会编译:“非法类litteral”

你知道我该如何执行这样的操作?

+0

这个答案有很多重复,只是搜索stackoverflow更多。比如“从泛型类获取类”。 – JMelnik 2012-04-17 15:47:45

回答

1

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

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