Java 在不知道其类型的情况下在GWT中探索数组

Java 在不知道其类型的情况下在GWT中探索数组,java,arrays,gwt,reflection,Java,Arrays,Gwt,Reflection,我正在使用GWT构建对象的通用可视化工具。为此,我使用了由提供的反射功能。有了它,我可以探索方法和字段,这对于类来说已经足够了。我仍然存在的一个问题是gwt ent不允许我探索阵列。它给出了它的组件类型,但没有像java.lang.reflection.Array那样给出get或set方法 因此,我使用了本机java.lang.reflection.Array,当处于调试模式时,它会奇怪地工作,这怎么可能呢?但当我进入生产模式时,编译器会抱怨 我尝试了一些技巧,例如使用java.utils.ar

我正在使用GWT构建对象的通用可视化工具。为此,我使用了由提供的反射功能。有了它,我可以探索方法和字段,这对于类来说已经足够了。我仍然存在的一个问题是gwt ent不允许我探索阵列。它给出了它的组件类型,但没有像java.lang.reflection.Array那样给出get或set方法

因此,我使用了本机java.lang.reflection.Array,当处于调试模式时,它会奇怪地工作,这怎么可能呢?但当我进入生产模式时,编译器会抱怨

我尝试了一些技巧,例如使用java.utils.array.asListT将数组转换为ArrayList。。。a但是没有办法让它起作用。我也看到过类似的问题。在这种情况下,其中一个建议是导入由com.google.gwt.lang.Array.createFrom.提供的JSNI方法,但是我可以看到,不幸的是,这个类有一个set方法,但没有get方法


问题是:在不事先知道数组类型的情况下,您是否可以访问数组的元素?

GWT中不支持反射。它可以在开发模式下工作,因为调试时大部分代码都是在JVM中运行的,而不是在浏览器中运行的

我建议修改gwt ent generator以满足您的需求,并向作者发送一个带有您的贡献的补丁,或者通过其他第三方库(如gwt reflector)更改gwt ent


我发现另一个有趣的gwt反射项目是它似乎没有使用生成器。

谢谢你的回答。我不知道gwt reflector库,我会尝试它,但据我所知,它也不支持探索阵列:对,它不支持阵列,我以为它支持。所以你必须以某种方式实现这个特性。事实上,我甚至不能探索列表,也不能探索方法。总的来说,它比gwt-ent要有限得多,这是一个遗憾,因为我喜欢gwt反射器的轻量级。我不太擅长GWT,自己编写缺少的功能,但是,如果解释一下,我可以帮你。也许你可以联系作者,我想他会帮你的。通常我们开源开发者喜欢用户的反馈和贡献。还发现另一个反射项目编辑了我的答案。谢谢Manolo,实际上我正在与GWT reflector的开发人员联系,他们已经在帮助我查看。目前还没有对数组的支持,但是有一些方法可以浏览列表。