V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF
目录
- 工作中常用的 split() 切割字符串效率高吗?
- JDK 提供字符串切割工具类 StringTokenizer
- 手把手带你实现一个更高效的字符串切割工具类
- 总结
今天给大家介绍一个小知识点,但是会非常的实用,就是平时我们写 Java 代码的时候,如果要对字符串进行切割,我们巧妙的运用一些技巧,可以把性能提升 5~10 倍。下面不说废话,直接来给大家上干货!
工作中常用的 split() 切割字符串效率高吗?
首先,我们用下面的一段代码,去拼接出来一个用逗号分隔的超长字符串,把从 0 开始一直到 9999 的每个数字都用逗号分隔,拼接成一个超长的字符串,以便于我们可以进行实验。
代码如下所示:
public class StringSplitTest {
public static void main(String[] args) {
String string = null;
StringBuffer stringBuffer = new StringBuffer();
int max = 10000;
for(int i = 0; i < max; i++) {
stringBuffer.append(i);
if(i < max - 1) {
stringBuffer.append(",");
}
}
string = stringBuffer.toString();
}
}
接着我们可以用下面的代码来测试一下,如果用最基础的 split 方法来对超长字符串做切割,循环切割 1w 次,要耗费多长时间,看如下代码测试:
public class StringSplitTest {
public static void main(String[] args) {
String string = null;
StringBuffer stringBuffer = new StringBuffer();
int max = 10000;
for(int i = 0; i < max; i++) {
stringBuffer.append(i);
if(i < max - 1) {
stringBuffer.appen