String.split()与StringTokenizer分割字符串的区别

今天测试写的一个util类,才发现这两个是有差别的。
String flt ="'|and|exec|insert|select|delete|update|count|*|%|master|truncate|declare|;|,";
 String filter[] = flt.split("\\|");

String flt ="'|and|exec|insert|select|delete|update|count|*|%|master|truncate|declare|;|,";
StringTokenizer st = new StringTokenizer(flt , "|");
int i=0;
while(st.hasMoreTokens()){
				filter[i]=st.nextToken();
				i++;
			}

split需要转码,因为split接收的是正则
split(String regex)
          根据给定的正则表达式的匹配来拆分此字符串。
stringtokenizer直接使用就可以了。
StringTokenizer(String str)
          为指定字符串构造一个 string tokenizer。

你可能感兴趣的:(java,正则表达式)