我想找到发送到泛型类的参数的类名,如下所示.
Run Code Online (Sandbox Code Playgroud)
public abstract class RootClass
<T extends Iface> {
protected ApplicationContext applicationContext;
public T getIfaceBean() {
return applicationContext.getBean(T.class);
}
}
But it looks like I can't do T.class(由于类型擦除?).
那么,Java Generics是否可以采取这样的行动?
如何使用Java Generics实现此类功能?
由于Type Erasure,你不能说T.class因为T在运行时不存在.
你能做的最好的事情是获取一个类型的参数Class<T>来获取Class对象:
public T getIfaceBean(Class<T> clazz) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |