1
我有一個JSON轉換爲JNI覆蓋類型的問題。 Java代碼有下面的方法:GWT問題與長在Javascript JNI覆蓋類型
long nr = 10l;
public Long getNr() {
return nr;
}
的JNI疊加類型是:
public final native Long getNr() /*-{
return this.nr;
}-*/;
我回避與所述覆蓋型的長原語操作,因爲編譯器不允許它。官方文件稱這是低效的,但它應該起作用。但是,我得到:
java.lang.IllegalArgumentException: Something other than a Java object was returned from JSNI method '@com.avaya.thunder.portal.client.shared.model.Customer::getNr1()': JS value of type int, expected java.lang.Object
at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:178)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:271)
我正在使用GWT 2.2.0。
這是我做錯了什麼?這應該工作嗎?任何幫助表示讚賞。 謝謝。
我現在明白,GWT編譯器只能模擬java代碼中的long,並且一旦我們拖拽JSNI級別,編譯器就不會觸及該代碼。謝謝。 – Eugen 2011-05-28 20:38:47