【发布时间】:2013-11-26 23:40:24
【问题描述】:
我正在开发一个 GWT 应用程序,并且我正在获取一个包含选择查询结果的列表。此选择查询有行。每一行,每个元素与前一个和下一个元素之间用“::”分隔。
我正在尝试使用 String.split 对其进行拆分,但执行起来需要很长时间。我已经读到目前(我正在使用 GWT 2.5.1),String.split 方法的问题非常严重,有时几乎是 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里面的split结果,以备后用。
str 它是一个包含 iterator.next() 的字符串。
你能告诉我我可能遗漏了什么或误解了什么吗?
提前感谢您的宝贵时间,
亲切的问候,
【问题讨论】: