我有一个方法如:
public <T> List<T> bar() {
return new Baz<T.class>().toList();
}
T.class
会产生编译错误。有没有办法在Java中执行此操作,还是因为类型擦除而无法实现?
答案 0 :(得分:0)
类型擦除会阻止它。你能做的最好的是:
public <T> List<T> bar(Class<T> clazz) {
// do something useful with the Class object
}
答案 1 :(得分:0)
根据我的有限知识,由于类型擦除,这是可撤消的。但是,一些不错的解决方法是given in this thread。
但是,我会看到非解决方案。