У меня есть ArrayList stringtoList, который должен возвращать токены из 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; } }
Любая помощь будет наиболее ценной
Как насчет:
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 +
Недопустимый синтаксис Java:
DefaultToken t = (s.sval, s.lineno());
Не зная, как выглядит класс DefaultToken, мне будет трудно помочь, но, возможно, вы имели в виду нечто подобное?
DefaultToken t = new DefaultToken(s.sval, s.lineno());