【发布时间】:2012-01-17 04:22:42
【问题描述】:
有没有一种方法可以避免类型擦除并访问类型参数?
public class Foo<T extends Enum<?> & Bar> {
public Foo() {
// access the template class here?
// i.e. :
baz(T.class); // obviously doesn't work
}
private void baz(Class<T> qux) {
// do stuff like
T[] constants = qux.getEnumConstants();
...
}
}
我需要了解T,并用它来做事。是否有可能,如果可以,如何在不在构造函数中或除参数之外的任何地方传入类的情况下完成?
编辑:这个问题的主要目的是找出关于类型擦除是否有任何实用的方法。
【问题讨论】:
标签: java templates generics generic-programming type-erasure