ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## [StringTokenizer类](https://lingcoder.gitee.io/onjava8/#/book/18-Strings?id=stringtokenizer%e7%b1%bb) 在 Java 引入正则表达式(J2SE1.4)和`Scanner`类(Java SE5)之前,分割字符串的唯一方法是使用`StringTokenizer`来分词。不过,现在有了正则表达式和`Scanner`,我们可以使用更加简单、更加简洁的方式来完成同样的工作了。下面的例子中,我们将`StringTokenizer`与另外两种技术简单地做了一个比较: ~~~ // strings/ReplacingStringTokenizer.java import java.util.*; public class ReplacingStringTokenizer { public static void main(String[] args) { String input = "But I'm not dead yet! I feel happy!"; StringTokenizer stoke = new StringTokenizer(input); while(stoke.hasMoreElements()) System.out.print(stoke.nextToken() + " "); System.out.println(); System.out.println(Arrays.toString(input.split(" "))); Scanner scanner = new Scanner(input); while(scanner.hasNext()) System.out.print(scanner.next() + " "); } } /* Output: But I'm not dead yet! I feel happy! [But, I'm, not, dead, yet!, I, feel, happy!] But I'm not dead yet! I feel happy! */ ~~~ 使用正则表达式或`Scanner`对象,我们能够以更加复杂的模式来分割一个字符串,而这对于`StringTokenizer`来说就很困难了。基本上,我们可以放心地说,`StringTokenizer`已经可以废弃不用了。