使用java.util.Scanner的使用GWT
问题描述:
出于某种原因,当我尝试使用扫描仪使用GWT,我得到以下错误:使用java.util.Scanner的使用GWT
No source code is available for type java.util.Scanner; did you forget to inherit a required module?
我环顾四周,似乎“没有源代码可用类型xxxx“错误是由于Java类型没有Javascript等效类型。 扫描仪无法与GWT一起使用吗?
这里是我的代码片段:
import java.util.Scanner;
...
public void submit(){
String text = editor.getEditor().getText();
Scanner input = new Scanner(text);
while(input.hasNextLine()){
String line = input.nextLine();
if(line.contains("//")){
cInfo.setDone(false);
cInfo.setCode(text);
return;
}
cInfo.setDone(true);
cInfo.setCode(text);
}
}
}
答
java.util.Scanner的不是GWT JRE仿真的一部分。如果你需要什么是这里的仿真内部细节概述是链接到文档:
https://developers.google.com/web-toolkit/doc/latest/RefJreEmulation#Package_java_util
答
您的代码(至少一个在当前版本的问题)可能是[*]相当于
public void submit() {
String text = editor.getEditor().getText();
if ("".equals(text))
return;
cInfo.setDone(!text.contains("//"));
cInfo.setCode(text);
}
不过,我有一种感觉,这实际上可能没有什么想做的事情(是吗?)
如果您需要在客户端分割字符串,我通常会重新推荐Guava的斯普利特班。它的大多数方法都是GwtCompatible,并且(和CharMatcher,Joiner一起......)在Java代码的客户端和服务器端都使用它们是非常好的。
[*]假设,即setDone和setCode是没有副作用
简单的setter有没有任何形式的GWT替代的电脑灯,你知道吗? – 2012-07-18 18:43:32
你想做什么,也许我们可以提出更好的建议 – 2012-07-18 20:11:12
对不起,延迟回复。我结束了使用正则表达式和拆分将文本分割成一个字符串数组。 – 2012-07-19 17:16:00