这是我的代码:
StringTokenizer line = new StringTokenizer("{([]{()})({})}");
System.out.println("Count: " + line.countTokens());
输出始终为Count: 1
我知道这不应该发生在如此简单的代码中。 StringTokenizer
库可能有问题吗?
请帮忙!
答案 0 :(得分:1)
StringTokenizer的默认分隔符集仅包含空格字符,这些字符不会出现在字符串中。
还要注意StringTokenizer的JavaDoc中的以下语句:
" StringTokenizer是一个遗留类,出于兼容性原因而保留,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人都使用String的split方法或java.util.regex包。"
答案 1 :(得分:-2)
要打印下一个标记,请使用System.out.println(line.nextToken());