面试题:简述 String 和 StringTokenizer 的区别是什么 ?

String 和 StringTokenizer 是 Java 中用于处理字符串的两个不同的类,它们的主要区别如下:


1. String

  • 定义String 是 Java 中的一个不可变类,用于表示字符串。它提供了许多操作字符串的方法,如拼接、截取、查找、替换等。
  • 特点
    • 不可变性:一旦创建,字符串内容不能被修改。
    • 提供了丰富的 API 方法,如 length()substring()indexOf()replace() 等。
    • 适用于存储和操作单个字符串。

2. StringTokenizer

  • 定义StringTokenizer 是一个用于分割字符串的工具类。它可以根据指定的分隔符将字符串拆分为多个子字符串(称为 token)。
  • 特点
    • 主要用于字符串的分割操作。
    • 默认的分隔符是空格、制表符(\t)、换行符(\n)和回车符(\r),也可以自定义分隔符。
    • 提供了简单的方法来遍历分割后的子字符串,如 nextToken() 和 hasMoreTokens()
    • 适用于需要将字符串按特定规则拆分的场景。

3. 主要区别

特性StringStringTokenizer
用途存储和操作单个字符串将字符串按分隔符拆分为多个子字符串
可变性不可变无状态,仅用于分割字符串
API 复杂度提供丰富的字符串操作方法提供简单的分割和遍历方法
适用场景字符串的存储、拼接、查找等操作字符串的分割和解析

4. 示例代码

使用 String

String str = "Hello, World!";
System.out.println(str.length()); // 输出 13
System.out.println(str.substring(0, 5)); // 输出 "Hello"

使用 StringTokenizer

String str = "Java,Python,C++,JavaScript";
StringTokenizer tokenizer = new StringTokenizer(str, ",");
while (tokenizer.hasMoreTokens()) {
    System.out.println(tokenizer.nextToken());
}
// 输出:
// Java
// Python
// C++
// JavaScript

5. 总结

  • String 是用于表示和操作字符串的类,适合处理单个字符串。
  • StringTokenizer 是用于分割字符串的工具类,适合将字符串按特定规则拆分为多个部分。
  • 在现代 Java 开发中,StringTokenizer 的使用逐渐减少,更多开发者倾向于使用 String.split() 或正则表达式来实现字符串分割。
THE END
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容