String str = null;
/**
* 生成一个字符串
*/
public MySplit() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
sb.append(i);
sb.append(";");
}
str = sb.toString();
}
/**
* 使用split分割
*/
public void strSplit() {
for (int i = 0; i < 10; i++) {
str.split(";");
}
}
/**
* 使用StringTokenizer类分割
*/
public void strTokenizer() {
StringTokenizer st = new StringTokenizer(str, ";");
for (int i = 0; i < 10; i++) {
while (st.hasMoreTokens())
st.nextToken();
st = new StringTokenizer(str, ";");
}
}
/**
* 使用indexOf和substring手工编码方式分割
*/
public void strIndexOf() {
String tmp = str;
for (int i = 0; i < 10; i++) {
while (true) {
int idx = tmp.indexOf(';');
if (idx < 0)
break;
tmp = new String(tmp.substring(idx + 1));
}
tmp = str;
}
}
3种常用的分割方法,按道理讲应该是最下面一种效率最高,但实际测试发现第3种竟然最低,求原因
|
|