You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

哪种字符串分割方式更快?StringTokenizer与String.split()对比

Java字符串分割性能对比:StringTokenizer vs split("")

结论:方法一基于StringTokenizer的实现性能更快

原因很直接:

  • StringTokenizer是专门为字符串分割设计的轻量级工具,内部仅做简单的字符遍历与位置判断,没有多余的额外逻辑。它的countTokens()和nextToken()方法都是直接基于字符位置做判断,步骤简洁、执行高效。
  • 方法二中的split("")底层依赖正则表达式引擎(Pattern和Matcher),哪怕分割符是空字符串,正则引擎也会启动完整的编译、匹配流程,这些额外操作会带来明显的性能损耗。
  • 另外,split("")处理空字符串分割时,还需要额外处理开头、结尾的空串边界情况,进一步增加了运行开销;而StringTokenizer指定空字符串作为分隔符时,会直接逐个返回单个字符,逻辑更直接纯粹。

方法一代码实现:

StringTokenizer st = new StringTokenizer(br.readLine(), "", false);
String[] s = new String[st.countTokens()];
int a = 0;
while (st.hasMoreTokens())
    s[a++] = st.nextToken();

方法二代码实现:

String[] s = br.readLine().split("");

内容的提问来源于stack exchange,提问作者Febrie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 15:48:22