我宣布这样一个类:怎么知道有限制类型参数的一类
public class TestManagerImpl<T extends IParams> implements TestManager<T> {
public TestManagerImpl() {}
...
}
我想知道,如果它是可以提取其类型从IParams为T当一个对象被instancied此上课? 当我尝试在getClass()上测试时,它不会给我一个实现ParameterizedType的类型。
我读过,由于类型删除,我不能。 Angelika Langer's Java Generics FAQ。但我不确定它与我的问题有关,不是吗?
谢谢
这是一个标准的做法。请参阅Bloch的Effective Java中泛型的一章的结尾 – artbristol 2011-05-20 10:32:13
private final Class clazz; public TestManagerImpl(Class clazz) { this.clazz = clazz; } 我想避免它(因为它是春季自动装配的一些bean)。 –
RoD
2011-05-20 10:32:45
它不是反模式,并且通常是类知道它自己的泛型类型的唯一方法。 – 2011-05-20 10:33:10