至于理论方面的就不多说了,大家可以查看api,现在主要举几个例子,说明两者的区别:
例子一:
String sample1="ben ben" ; //其中连个ben之间间隔8个空格
String[] split1 = sample1.split(" "); //通过一个空格隔离
final List<String> oLines = new ArrayList<String>();
final StringTokenizer tokens = new StringTokenizer(sample1, " ");
结果:split1.length 为9 oLines.size 为2
解释:如果用split进行分离的话,他会将空格也作为一个字符串存入数组, 而tokenizer不会
例子二:
String t1 = "ben, ,, ,,,ben";
String[] split2 = t1.split(",");
final ListoLines = new ArrayList();
final StringTokenizer tokens = new StringTokenizer(t1, ",");
结果:split2.length 为7 oLines.size 为4
解释:tokenizer他会将连续相同的需要过滤的进行处理
总结:尤其是在进行空格过滤的时候,尽量的用tokenizer,如果用split很可能会出现许多,并不想得到的数据比如说空格(我是碰到过)