找不到StringTokenizer迭代程序的错误


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方法。现在来谈谈你的问题,没有IteratorStringTokenizer相关,它使用了Enumeration。看起来你期待的是StringTokenizer对象中的Iterator对象,它甚至不编译。因此,要么对其进行枚举编码,然后使用String.split方法将其拆分为数组。你的代码应该像一样

StringTokenizer tokenizer=新的StringTokenier(inputString);

while(tokenizer.hasMoreElements()) {
String o = (String)tokenizer.nextElement();
......
.......
}

或者

String[]  splitted = inputString.split(delimter);

相关内容

  • 没有找到相关文章

最新更新