当前位置:首页 > Java > 正文

Java StringTokenizer详解(小白也能学会的字符串分割利器)

Java字符串处理中,我们经常需要将一个字符串按照特定分隔符拆分成多个部分。虽然现在更推荐使用String.split()方法,但了解StringTokenizer仍然是很有价值的,尤其在阅读旧代码或面试中可能会遇到。本教程将带你从零开始掌握Java StringTokenizer的使用。

Java StringTokenizer详解(小白也能学会的字符串分割利器) StringTokenizer  字符串分割教程 Java字符串处理 StringTokenizer使用方法 第1张

什么是StringTokenizer?

StringTokenizer是Java早期提供的一个用于分割字符串的工具类,位于java.util包中。它允许你指定分隔符(delimiters),然后逐个获取被分割的子字符串(tokens)。

基本用法

首先,你需要导入java.util.StringTokenizer

import java.util.StringTokenizer;  

下面是一个简单的例子,将句子按空格分割:

public class StringTokenizerExample {    public static void main(String[] args) {        String sentence = "Java StringTokenizer 使用方法 很简单";                // 创建StringTokenizer对象,默认以空格为分隔符        StringTokenizer st = new StringTokenizer(sentence);                System.out.println("总共有 " + st.countTokens() + " 个单词:");                // 遍历所有token        while (st.hasMoreTokens()) {            System.out.println(st.nextToken());        }    }}  

输出结果:

总共有 5 个单词:
Java
StringTokenizer
使用方法
很简单

指定自定义分隔符

你可以通过构造函数指定自己的分隔符。例如,用逗号和分号作为分隔符:

String data = "苹果,香蕉;橙子,葡萄";StringTokenizer st = new StringTokenizer(data, ",;");while (st.hasMoreTokens()) {    System.out.println(st.nextToken());}  

输出:

苹果
香蕉
橙子
葡萄

常用方法说明

  • hasMoreTokens():判断是否还有更多token
  • nextToken():返回下一个token
  • countTokens():返回剩余token的数量
  • nextToken(String delim):使用新的分隔符获取下一个token(不常用)

注意事项与替代方案

虽然StringTokenizer使用方法简单直观,但官方文档已将其标记为“遗留类”(legacy class),建议在新项目中使用String.split()java.util.regex包中的类。

例如,用split()实现相同功能:

String sentence = "Java StringTokenizer 使用方法 很简单";String[] words = sentence.split("\\s+"); // \s+ 表示一个或多个空白字符for (String word : words) {    System.out.println(word);}  

总结

通过本教程,你应该已经掌握了Java StringTokenizer的基本用法、如何指定分隔符以及常用方法。尽管它在现代Java开发中已不常用,但理解它有助于你更好地处理历史代码和应对技术面试。

记住,对于新的字符串分割教程需求,优先考虑String.split()方法,它更灵活且支持正则表达式。