2024年4月1日发(作者:)
java中stringtokenizer
Java中的StringTokenizer是一个用于分割字符串的类,它是JDK
1.0版本就存在的,是Java中最古老的类之一。StringTokenizer
类可以将一个字符串按照指定的分隔符进行分割,并将分割后的子
字符串存储在一个数组中。在本文中,我们将详细介绍
StringTokenizer类的使用方法及其相关知识点。
一、StringTokenizer类的构造方法
StringTokenizer类有两个构造方法:
1. StringTokenizer(String str):使用默认的分隔符(空格、制表符、
换行符、回车符)分割字符串str,并创建一个新的
StringTokenizer对象。
2. StringTokenizer(String str, String delim):使用指定的分隔符
delim分割字符串str,并创建一个新的StringTokenizer对象。
其中,分隔符可以是一个字符串,也可以是多个字符串,多个字符
串之间可以使用“|”符号或“[]”符号分隔。
二、StringTokenizer类的常用方法
StringTokenizer类有以下常用方法:
1. boolean hasMoreTokens():判断分隔符后面是否还有子字符串,
如果有,则返回true,否则返回false。
2. String nextToken():返回分隔符后面的下一个子字符串。
3. String nextToken(String delim):返回分隔符后面的下一个子字
符串,分隔符可以是delim指定的字符串。
4. int countTokens():返回分隔符后面的子字符串的数量。
三、StringTokenizer类的示例代码
下面是一个简单的示例代码,演示如何使用StringTokenizer类:
```java
import Tokenizer;
public class TestStringTokenizer {
public static void main(String[] args) {
String str = "Hello World! This is a test.";
StringTokenizer st = new StringTokenizer(str);
while (eTokens()) {
n(ken());
}
}
}
```
输出结果为:
```
Hello
World!
This
is
test.
```
在上面的示例代码中,我们创建了一个StringTokenizer对象st,
并将字符串“Hello World! This is a test.”作为参数传入。接着,
我们使用while循环和hasMoreTokens()方法依次输出每个子字符
串,直到所有子字符串都被输出为止。
下面再给出一个使用指定分隔符的示例代码:
```java
import Tokenizer;
public class TestStringTokenizer {
public static void main(String[] args) {
String str = "apple,banana,orange,grape";
StringTokenizer st = new StringTokenizer(str, ",");
while (eTokens()) {
n(ken());
}
}
}
```
输出结果为:
```
apple
banana
orange
grape
```
在上面的示例代码中,我们使用逗号作为分隔符分割字符串
“apple,banana,orange,grape”,然后依次输出每个子字符串。
四、StringTokenizer类的注意事项
1. StringTokenizer类是一个过时的类,在Java 1.5版本中被推荐
使用()方法代替。但是,在某些情况下,
StringTokenizer类仍然是一个很好的选择,尤其是在需要分隔符为
多个字符时。
2. StringTokenizer类默认使用空格、制表符、换行符和回车符作
为分隔符,如果需要使用其他分隔符,则需要在构造方法中指定。
3. StringTokenizer类的nextToken()方法会依次返回每个子字符串,
如果需要跳过某些子字符串,则需要在循环中使用continue语句。
4. StringTokenizer类是一个线程不安全的类,在多线程环境下使
用需要注意线程同步问题。
五、总结
本文介绍了Java中的StringTokenizer类,包括其构造方法、常用
方法、示例代码和注意事项。通过学习本文,读者可以了解如何使
用StringTokenizer类分割字符串,同时也了解了StringTokenizer
类的一些局限性。在实际开发中,读者可以根据具体需求选择使用
StringTokenizer类或()方法。


发布评论