首页 > 代码库 > 琐碎-关于StringTokenizer工具

琐碎-关于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:

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

使用StringTokenizer:

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

 

琐碎-关于StringTokenizer工具