是否可以在运行时从GWT获取通用参数类型

Mik*_*ike 3 java generics reflection gwt gwt-gin

问题:我在GWT客户端有一个类型为T的泛型超类,子类是在运行时生成的(使用GIN),初始化泛型参数,是否可以在运行时检索具体子类的泛型参数类型?

我可以在JRE环境中获取实际类型(使用Class.getGenericSuperclass和Class.getActualTypeArguments),但是我不知道如何在GWT环境中执行此操作,我搜索一些GWT 3rd反射库,看起来它们都不支持此功能.是否有可能在运行时从GWT获取通用参数类型?如果没有,任何解决方法?

非常感谢.

我发现了一个项目:gwt-preprocessor,它在编译时生成反射信息,对某些情况非常有用.

Tho*_*yer 5

因为GWT编译器在编译时知道所有内容,所以绝对没有理由在运行时使用反射; 这就是GWT没有模仿反映的原因.

处理此问题的正确方法是使用生成器:http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsDeferred.html#generators

(或者甚至更好,从不同的角度考虑问题,这样你根本不需要反思)