该文章主要是针对于三者的执行速度来说,相对于String来说,String是要落后于StringBuffer的,StringBuffer相对于StringBuilder也稍微慢一点,开始试验
String str = "";
Log.e("MainActivity2", "String开始");
for (int i = 0; i < 10000; i++) {
str = str + i;
}
Log.e("MainActivity2", "String 结束");
StringBuilder strBuilder = new StringBuilder();
Log.e("MainActivity2", "strBuilder 开始");
for (int i = 0; i < 10000; i++) {
strBuilder.append(i);
}
Log.e("MainActivity2", "strBuilder 结束");
StringBuffer strBuffer = new StringBuffer();
Log.e("MainActivity2", "strBuffer 开始");
for (int i = 0; i < 10000; i++) {
strBuffer.append(i);
}
Log.e("MainActivity2", "strBuffer 结束");
上述代码,放在一个点击事件中运行的,采用同步执行的方式,运行在虚拟机上进行测试,至于点击事件之类的代码,就不放上去了,查看测试结果
根据试验结果表明
1、String执行上述代码,用了3.122秒的时间
2、StringBuilder执行上述代码,用了0.001秒的时间
3、StirngBuffer执行上述代码,用了0.003秒的时间
所以单论同一线程的代码执行效率来说,StringBuilder的效率是最高的,String是最低的,StringBuffer居中
复习完毕