4

问题是当我尝试将 java List (ArrayList) 对象作为 ProxyArray (ProxyArray.fromList()) 传输到 javascript 时,它不能与 .forEach 和 .push 一起使用。此外,如果我按原样传输 java List 对象,它可以与 .forEach 一起使用,但不能与 .push 一起使用。有什么解决办法吗?

这是要点https://gist.github.com/okrean/5d6978bac15f257b90f581f371769935

4

1 回答 1

2

一个实例java.util.ArrayList在某些方面表现得像一个 JS 数组,然而,实例的java.util.ArrayList原型没有设置为 Array.prototype。

这就是为什么push在你的值上找不到函数的原因,而forEach被调用的函数实际上是forEach在 Java 对象上找到的函数,而不是forEach来自 JS 数组的函数。

一种解决方法是在JS 中java.util.ArrayList手动将其转换为 JS 数组Java.from(value)

另见本期的讨论。

于 2018-12-31T10:54:16.313 回答