我有一个stringtoList ArrayList需要从StreamTokenizer返回令牌,但s.sval在运行时没有编译,任何人都可以帮我解决这个问题:
private List<Token> stringToList(final String string) {
// TODO your job
// follow Main.main but put the tokens into a suitable list
ArrayList<Token> al = new ArrayList<Token>();
String word = "";
String in = string;
StreamTokenizer s = new StreamTokenizer(new StringReader(in));
int token;
while ((token = s.nextToken()) != StreamTokenizer.TT_EOF) {
if (token == StreamTokenizer.TT_WORD) {
DefaultToken t = (s.sval, s.lineno()); //problem here, not reading the sval from the StreamTokenizer!!!
al.add(t);
}
return al;
}
}
非常感谢任何帮助
答案 0 :(得分:2)
怎么样:
String txt = "The quick brown fox jumps over the lazy dog";
String[] arr = txt.split("\\W");
List<String> list = Arrays.asList(arr);
应该适用于Java 1.5 +
答案 1 :(得分:1)
以下是无效的Java语法:
DefaultToken t = (s.sval, s.lineno());
在不知道DefaultToken类看起来像什么的情况下,我很难提供帮助,但也许你的意思是这样的?
DefaultToken t = new DefaultToken(s.sval, s.lineno());