tokenizer null字符

时间:2011-09-28 15:05:27

标签: java string token

inputValue = "111,GOOG,20,475.0"

StringTokenizer tempToken = new StringTokenizer(inputValue, ",");

while(tempToken.hasMoreTokens() == true)
{
    test = token.nextToken();
    counterTest++;
}

它给了我一些无效的正确NULL字符

我开始学习stringtokenizer,我不确定在这一点上逻辑错误我觉得它有用但是我忘了什么?

2 个答案:

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