StringTokenizer和split方法还有一个很重要的区别就是:前者会以给定分割字符串的每个字符进行分割,而后者是以整个字符串进行切割。借鉴上面的代码:
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
String str = "Hello,this is a test";
System.out.println("使用split分割str");
System.out.print("将str从字符串 el 处分割:");
for(String temp:str.split("el")){
System.out.print(temp+" ");
}
System.out.println();
System.out.println("------------------------------------");
System.out.println("使用StringTokenizer类进行分割");
StringTokenizer s = new StringTokenizer(str, "el");
System.out.print("将str从字符e和l处分割:");
while(s.hasMoreElements()){
System.out.print(s.nextElement()+" ");
}
System.out.println();
}
}
执行代码,结果如下:
使用split分割str
将str从字符串 el 处分割:H lo,this is a test
------------------------------------
使用StringTokenizer类进行分割
将str从字符e和l处分割:H o,this is a t st
不难看出,分割字符串同样是“el”,但是结果却不一样,StringTokenizer分割原理是:只要有字符e和l的地方都进行切割,而split是只在字符串el的地方切割。
所以,基于这样的原理,StringTokenizer中的分割字符串一般是不重复的字符,例如:“aa”。
sunow_yang
sunow_yang
360***740@qq.com2年前 (2018-11-14)