inputValue = "111,GOOG,20,475.0"
StringTokenizer tempToken = new StringTokenizer(inputValue, ",");
while(tempToken.hasMoreTokens() == true)
{
test = token.nextToken();
counterTest++;
}
它给了我一些无效的正确NULL字符
我开始学习stringtokenizer,我不确定在这一点上逻辑错误我觉得它有用但是我忘了什么?
答案 0 :(得分:2)
您的代码段正在进行一些小的调整,可能是您遗漏的简单,因此请查看下面重写的完整示例:
public static void main(String[] args) throws Exception {
String inputValue = "111,GOOG,20,475.0";
StringTokenizer tempToken = new StringTokenizer(inputValue, ",");
int counterTest = 0;
while (tempToken.hasMoreTokens()) {
String test = tempToken.nextToken();
System.out.println(test);
counterTest++;
}
System.out.println("-------------------");
System.out.println("counterTest = " + counterTest);
}
输出:
111
GOOG
20
475.0
-------------------
counterTest = 4
答案 1 :(得分:2)
我在你的代码中看到了一些拼写错误。 但是,在新代码中不鼓励使用StringTokenizer。来自javadocs:
StringTokenizer是为保持兼容性而保留的旧类 原因虽然在新代码中不鼓励使用它。建议 任何寻求此功能的人都使用String的split方法 或者改为java.util.regex包。
推荐的方法是使用String#split。 类似的东西:
private void customSplit(String source) {
String[] tokens = source.split(";");
for (int i = 0; i < tokens; i++) {
System.out.println("Token" + i + "is: " + token[i]);
}
}