最近作开发,牵扯到较多的字符串操作,字符操作大都在万次以上,效率因素不得不考虑了。
以前习惯了String的方式,因为只需 “+=”即可完成字符串的追加,感觉很爽。不过最近发现当字字符串追加操作增加一个数量级以后,效果就大不一样了--机器像蜗牛一般。开始还不清楚是什么原因,以为其他方面出了问题。当我尝试对字符串操作改变成用 stringBuilder 处理时,效果大不一样,两者的处理速度相差两个数量级,开始还不敢相信,后来对二者的运行时间做了比较后,发现果真如此。
作了一个小测试对于相同的字符串操作,用String 变量直接操作 和 用StringBuilder 处理 时间如下:
耗时
1.用String变量直接处理 33.59
2.用StringBuilder处理 0.359
结果相差近一百倍,真是令人汗呢!
以前习惯了String的方式,因为只需 “+=”即可完成字符串的追加,感觉很爽。不过最近发现当字字符串追加操作增加一个数量级以后,效果就大不一样了--机器像蜗牛一般。开始还不清楚是什么原因,以为其他方面出了问题。当我尝试对字符串操作改变成用 stringBuilder 处理时,效果大不一样,两者的处理速度相差两个数量级,开始还不敢相信,后来对二者的运行时间做了比较后,发现果真如此。
作了一个小测试对于相同的字符串操作,用String 变量直接操作 和 用StringBuilder 处理 时间如下:
耗时
1.用String变量直接处理 33.59
2.用StringBuilder处理 0.359
结果相差近一百倍,真是令人汗呢!