java创建给定类的实例
在GWT中,我有一个泛型Class<T>
,我想在其中动态实例化一个T
:
class MyGenericClass<T> {
void foo(Class<T> clazz) {
...
T t = GWT.create(clazz); //I want to instantiate T
}
}
但我有以下编译错误:
Only class literals may be used as arguments to GWT.create()
那么如何实例化这个类呢
在另一个线程中,我发现:
GWT.create( Reflection.class ).instantiate( YourClass.class );
但是我没有用这个实例化方法找到一个名为Reflection
的类
# 1 楼答案
create方法的java文档说明了这一切
http://www.gwtproject.org/javadoc/latest/com/google/gwt/core/client/GWT.html#create(java.lang.Class)
简而言之,不能动态创建实例,必须在编译时静态地知道类类型