StringTokenizer是Java中用于简单字符串分割的遗留类,通过指定分隔符将字符串拆分为标记,常用方法有hasMoreTokens()、nextToken()和countTokens(),例如用逗号分割姓名并遍历输出;但从Java 1.4起推荐使用支持正则表达式的String类的split()方法,因其返回数组更易处理、代码更简洁,且功能更强,因此新项目应优先选用split()或Scanner而非StringTokenizer。

在Java中,StringTokenizer 是一个用于将字符串拆分为多个部分(称为“标记”)的工具类,位于 java.util.StringTokenizer 包中。它可以根据指定的分隔符(如逗号、空格、分号等)对字符串进行解析,适用于简单的字符串分割场景。
StringTokenizer 的基本用法
StringTokenizer 构造函数常用的有以下几种形式:
- StringTokenizer(String str):使用默认分隔符(空格、换行、制表符等)拆分字符串。
-
StringTokenizer(String str, String delim):使用指定的分隔符
delim拆分字符串。 - StringTokenizer(String str, String delim, boolean returnDelims):第三个参数若为 true,则将分隔符也作为标记返回。
常用方法包括:
- hasMoreTokens():判断是否还有更多标记。
- nextToken():返回下一个标记(字符串类型)。
- countTokens():返回剩余的标记数量。
示例代码:使用 StringTokenizer 解析字符串
下面是一个使用 StringTokenizer 解析以逗号分隔的学生姓名字符串的例子:
立即学习“Java免费学习笔记(深入)”;
import java.util.StringTokenizer;
public class TokenExample {
public static void main(String[] args) {
String str = "张三,李四,王五,赵六";
StringTokenizer st = new StringTokenizer(str, ",");
while (st.hasMoreTokens()) {
System.out.println("姓名:" + st.nextToken());
}
}
}
输出结果为:
本文档主要讲述的是Android数据格式解析对象JSON用法;JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析时非常方便。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
姓名:张三 姓名:李四 姓名:王五 姓名:赵六
与 split() 方法的对比
虽然 StringTokenizer 可以完成字符串解析,但从 Java 1.4 开始,推荐使用 String 类的 split() 方法,原因如下:
例如,上面的例子用 split() 实现更简单:
String str = "张三,李四,王五,赵六";
String[] names = str.split(",");
for (String name : names) {
System.out.println("姓名:" + name);
}
注意事项
StringTokenizer 已被标记为“遗留类”,不建议在新代码中使用,除非维护旧系统。它不支持正则表达式,且无法直接处理 null 值或复杂边界情况。
基本上就这些。对于简单解析任务,StringTokenizer 仍可快速上手,但日常开发中更推荐使用 split() 或 Scanner 等现代方式。









