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吗?
仔细看:
Iterator<String> st = new StringTokenizer(s);
您正在声明一个Iterator类型的变量st,并在其上创建一个StringTokenizer类型的新对象。关于官方规范:
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html
您可以看到一个迭代标记化字符串的示例。
StringTokenizer
类用于字符串拆分,目前使用不多。您可以在String
类中使用split
方法。现在来谈谈你的问题,没有Iterator
与StringTokenizer
相关,它使用了Enumeration
。看起来你期待的是StringTokenizer
对象中的Iterator
对象,它甚至不编译。因此,要么对其进行枚举编码,然后使用String.split
方法将其拆分为数组。你的代码应该像一样
StringTokenizer tokenizer=新的StringTokenier(inputString);
while(tokenizer.hasMoreElements()) {
String o = (String)tokenizer.nextElement();
......
.......
}
或者
String[] splitted = inputString.split(delimter);