繁体   English   中英

创建给定类的实例

[英]Create an instance of a given class

在GWT中,我有一个通用的Class<T> ,我想在其中动态实例化一个T

class MyGenericClass<T> {

  void foo(Class<T> clazz) {

    ...
    T t = GWT.create(clazz); //I want to instantiate T
  }

}

但是我有以下编译错误:

只有类文字可以用作GWT.create()的参数

那么如何实例化这个类呢?

在另一个线程中,我发现:

GWT.create( Reflection.class ).instantiate( YourClass.class );

但我没有找到一个名为Reflection的类,这个实例化方法。

create方法的java doc说明了一切

create(Class)的参数必须是类文字,因为生产模式编译器必须能够在编译时静态地确定所请求的类型。 这可能很棘手,因为使用Class变量可能似乎在开发模式下正常工作。

http://www.gwtproject.org/javadoc/latest/com/google/gwt/core/client/GWT.html#create(java.lang.Class)

简而言之,您无法动态创建实例,在编译时必须静态地知道类类型。

GWT.create(YourClass.class)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM