在Java中获取泛型类的类

时间:2011-06-12 21:15:31

标签: java generics

  

可能重复:
  How to determine the class of a generic type?

我有一个方法如:

public <T> List<T> bar() {
    return new Baz<T.class>().toList();
}

T.class会产生编译错误。有没有办法在Java中执行此操作,还是因为类型擦除而无法实现?

2 个答案:

答案 0 :(得分:0)

类型擦除会阻止它。你能做的最好的是:

public <T> List<T> bar(Class<T> clazz) {
    // do something useful with the Class object
}

答案 1 :(得分:0)

根据我的有限知识,由于类型擦除,这是可撤消的。但是,一些不错的解决方法是given in this thread

但是,我会看到非解决方案。