StringTokenizer Iterator错误找不到

时间:2012-10-16 04:34:46

标签: java compiler-errors 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?

2 个答案:

答案 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);