- 分析:
- 开头的分隔符:
StringTokenizer
会忽略开头连续的分隔符,即开头的#
会被忽略。
- 结尾的分隔符:
StringTokenizer
会忽略结尾连续的分隔符,即结尾的#
会被忽略。
- 连续出现的分隔符:
StringTokenizer
会将连续出现的分隔符当作一个分隔符处理。例如,若有两个连续的#
,会被当作一个分隔符,而不会将它们之间的空字符串作为一个token。
- 代码验证:
import java.util.StringTokenizer;
public class StringTokenizerExample {
public static void main(String[] args) {
String str = "#value1#&value2@value3@#";
StringTokenizer st = new StringTokenizer(str, "#&@");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
- 代码解释:
- 首先定义了要分割的字符串
str
。
- 然后使用
StringTokenizer
,以#
、&
、@
作为分隔符对字符串进行分割。
- 最后通过
while
循环,使用hasMoreTokens()
方法判断是否还有token,然后使用nextToken()
方法获取并打印每个token。运行这段代码可以看到,开头和结尾的#
被忽略,连续的分隔符被当作一个分隔符处理,输出结果为:
value1
value2
value3