琐碎-关于StringTokenizer工具

时间:2023-03-09 19:05:01
琐碎-关于StringTokenizer工具

属于:java.util包

构造函数:

1. StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。
2. StringTokenizer(String str, String delim):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
3. StringTokenizer(String str, String delim, boolean returnDelims):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。


在Java中StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或java.util.regex 包。

但是最新的hadoop一些代码很多还是用了它。

关于两个的区别

对一个字符串,单词之间以空格分割,以单词为单位反序打印(如:I Love China结果为:China Love I)

做的思想一般是将该字符串中的每个单词保存在String[]里然后反序打印,这里就需要字符串分割的方法了...

使用split:

 static String str = "I Love China";
public static void splitTest() {
String[] result = str.split(" ",-1); for(int i = result.length - 1; i >= 0; i--) {
System.out.print(result[i] + " ");
}
}

使用StringTokenizer:

 static String str = "I Love China";
public static void StringTokenizerTest() {
StringTokenizer st = new StringTokenizer(str);
String[] strArray = new String[st.countTokens()]; for (int i = strArray.length - 1; i >= 0; i--) {
strArray[i] = st.nextToken() + " ";
} for(String s : strArray) {
System.out.print(s);
}
}//看上去此方法有点多此一举,使用split更为方便