gpt4 book ai didi

java - GWT JSNI 拆分方法错误

转载 作者:行者123 更新时间:2023-12-01 13:47:44 25 4
gpt4 key购买 nike

我正在开发一个 GWT 应用程序,并且正在获取一个包含选择查询结果的列表。此选择查询有行。每行的每个元素都通过“::”与前一个和下一个元素分隔。

我尝试使用 String.split 拆分它,但需要很长时间才能执行。我读到,目前(我正在使用 GWT 2.5.1),String.split 方法有很多 bug,有时几乎需要比 JSNI 方法多 x1000 倍的时间来执行;所以我采取了这种方法。

我正在使用的 JSNI 方法如下(我从同一站点获取):

public static final native String[] split(String string, String separator) /*-{
return string.split(separator);
}-*/;

但是现在,我收到此错误:

java.lang.ClassCastException:com.google.gwt.core.client.JavaScriptObject$ 无法转换为 [Ljava.lang.String;

即使我在最后写了一个 .toString() ,错误也会变成以下内容:

java.lang.ClassCastException: java.lang.String 无法转换为 [Ljava.lang.String;

我这样调用这个方法:

String[] temp = split(str, "::");

为了得到temp内部分割的结果,以供以后使用。

str 它是一个包含 iterator.next() 的字符串。

您能告诉我我可能遗漏或误解了什么吗?

预先感谢您的宝贵时间,

亲切的问候,

最佳答案

JavaScript 列表不是 Java 数组。虽然 GWT 使用 JavaScript 列表来模拟 Java 数组,但这并不意味着它们是相同的东西。

相反,您应该从方法中返回 JsArrayString,并以这种方式使用它,或者仅使用返回真正 Java 数组的 Java 版本的 String.split。

关于java - GWT JSNI 拆分方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20230300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com