我的JavaScript代码为我提供了一组float
值数组:
var serverData = new Array();
var fArray = new Array();
// .. calc mx and my here
fArray.push(mx);
fArray.push(my);
this.serverData.push(fArray);
var out = window.letServerWork(this.serverData);
我想在服务器上使用它。 this.serverData
看起来像这样:
{
0: 0: 1.123
1: 1.459
1: 0: 0.543
1: 1.679
2: 0: 1.157
1: 0.987
}
因此,我需要知道此通话的正确签名。这是:
public static native void exportDoLinearRegression() /*-{
$wnd.letServerWork = $entry(@ew.server.algorithm.LinearRegression::doLinearRegression(Lcom/google/gwt/core/client/JsArray<Lcom/google/gwt/core/client/JsArrayNumber;>;));
}-*/;
错了,但看起来应该是这样的。有人知道签名的样子是什么样的吗?
谢谢!
答案 0 :(得分:0)
事实证明,没有必要告诉泛型类型。如果GWT编译器知道会有JsArray
,那么它很高兴。然后,Java函数定义泛型类型。这就是它对我有用的方式:
public static String doLinearRegression(JsArray<JsArrayNumber> points) {
for(int i = 0; i < points.length(); i++) {
System.out.println(points.get(i).get(0) + " " + points.get(i).get(1));
// do stuff
}
return result;
}
public static native void exportDoLinearRegression() /*-{
$wnd.letServerWork = $entry(@ew.server.algorithm.LinearRegression::doLinearRegression(Lcom/google/gwt/core/client/JsArray;));
}-*/;