data_structures/ExpressionEvaluator.java:14: incompatible types.lang.String)
found : java.util.StringTokenizer class data_structures.ExpressionEvaluator
required: java.util.Iterator<java.lang.String>ing> st = StringTokenize
Iterator<String> st = new StringTokenizer(s);
我是否必须在某处声明Iterator?
答案 0 :(得分:0)
仔细观察:
Iterator<String> st = new StringTokenizer(s);
您正在声明类型为Iterator的变量st,并且您正在创建一个StringTokenizer类型的新对象。在官方规范上:
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html
您可以看到迭代标记化字符串的示例。
答案 1 :(得分:0)
StringTokenizer
类用于字符串拆分,并且在这些日子里它没有被大量使用。您可以在split
课程中使用String
方法。现在出现问题,Iterator
没有与StringTokenizer
关联,它使用了Enumeration
。看起来你期待Iterator
对象StringTokenizer
甚至没有编译的对象。因此要么对它进行编码,要么使用String.split
方法将其拆分为数组。您的代码应该像
StringTokenizer tokenizer = new StringTokenizer(inputString);
while(tokenizer.hasMoreElements()) {
String o = (String)tokenizer.nextElement();
......
.......
}
或者
String[] splitted = inputString.split(delimter);