Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Java数组传递给javascript_Javascript_Java_Json_Javafx - Fatal编程技术网

如何将Java数组传递给javascript

如何将Java数组传递给javascript,javascript,java,json,javafx,Javascript,Java,Json,Javafx,我有一个JavaFX应用程序,可以在谷歌地图上显示位置点。当我在javascript中只传递变量时,它工作得很好。这里是JavaFX中的代码,我在其中传递变量名(lat和lon) 我想传递一个双数组而不是双变量。下面是javascript函数,我在其中从Java变量名(x和y)接收值 下面是我正在使用的代码示例链接您可以执行以下操作: public void handle(ActionEvent arg0) { List<Double> list = List.of(Doub

我有一个JavaFX应用程序,可以在谷歌地图上显示位置点。当我在javascript中只传递变量时,它工作得很好。这里是JavaFX中的代码,我在其中传递变量名(lat和lon)

我想传递一个双数组而不是双变量。下面是javascript函数,我在其中从Java变量名(x和y)接收值


下面是我正在使用的代码示例链接

您可以执行以下操作:

public void handle(ActionEvent arg0) {
    List<Double> list = List.of(Double.parseDouble(latitude.getText()), Double.parseDouble(longitude.getText()));
    //Pass list.toString() to the JavaScript function
    //...
}

document.goToLocations = function(values) {
    var x = values.split(", ");
    alert(x);
    alert(x[0]);
    //...
}
公共无效句柄(ActionEvent arg0){
List List=List.of(Double.parseDouble(latitude.getText()),Double.parseDouble(longitude.getText());
//将list.toString()传递给JavaScript函数
//...
}
document.goToLocations=函数(值){
var x=值。拆分(“,”);
警报(x);
警报(x[0]);
//...
}
是在Java9中添加的。对于低于9的Java版本,请使用以下语句:

List<Double> list = Arrays.asList(Double.parseDouble(latitude.getText()), Double.parseDouble(longitude.getText()));
List List=Arrays.asList(Double.parseDouble(latitude.getText()),Double.parseDouble(longitude.getText());
-或-

List List=new ArrayList();
add(Double.parseDouble(latitude.getText());
add(Double.parseDouble(longitude.getText());

(JavaScript是一个词)我想到的一个解决方案(我不是java开发人员)是,您可以将数组转换为“[1,2,3,4]”这样的字符串,并在JavaScript
eval()
方法中将其作为字符串传递,然后将其分配给那里的一个变量。键入错误对不起(没关系,但很高兴知道)的方法(double,double)未为Java9中添加的类型列表定义。我已经更新了我的答案。如果有任何进一步的问题,请随时发表评论。谢谢您的回答,但是当我添加eval功能时,谷歌地图停止工作。我用另一种方式更新了我的答案,而不是使用
eval
。如果有任何进一步的问题,请随时发表评论。谢谢Arvind Kumar Avinash,我已经修改了您的代码,现在可以使用了,您的回答对我帮助很大谢谢
public void handle(ActionEvent arg0) {
    List<Double> list = List.of(Double.parseDouble(latitude.getText()), Double.parseDouble(longitude.getText()));
    //Pass list.toString() to the JavaScript function
    //...
}

document.goToLocations = function(values) {
    var x = values.split(", ");
    alert(x);
    alert(x[0]);
    //...
}
List<Double> list = Arrays.asList(Double.parseDouble(latitude.getText()), Double.parseDouble(longitude.getText()));
List<Double> list = new ArrayList<Double>();
list.add(Double.parseDouble(latitude.getText()));
list.add(Double.parseDouble(longitude.getText()));