【发布时间】:2014-06-21 14:48:08
【问题描述】:
我正在使用 GWT 构建一个通用的对象可视化器。为此,我使用了gwt-ent 提供的反射功能。有了它,我可以探索方法和领域,这对于类来说已经足够了。我仍然遇到的一个问题是 gwt-ent 不允许我探索数组。它给了我组件的类型,但不是 get() 或 set() 方法,就像 java.lang.reflection.Array 那样。
所以我使用了本机 java.lang.reflection.Array,它在调试模式下可以正常工作(这怎么可能?),但是当我进入生产模式时,编译器会报错。
我尝试了一些技巧,例如使用 java.utils.Array.asList(T... a) 将数组转换为 ArrayList,但没有办法让它工作。我见过类似的问题here。在那种情况下,其中一个建议是导入由 com.google.gwt.lang.Array.createFrom(..) 提供的 JSNI 方法,但我可以在the source code 中看到,不幸的是这个类有一个 set() 方法,但是没有 get() 方法!
问题是:你有没有在事先不知道数组类型的情况下访问数组元素的方法?
【问题讨论】:
标签: java arrays gwt reflection