String s=new String(); //开辟一个新内存
s+="aa"; //开辟第二个内存 存放aa 将之前的s干掉 再开辟一次s
s+="bb"; //再次开辟内存 存放bb 将之前的s干掉 在开辟一次s
StringBuffer s=new StringBuffer(); //开辟一个新内存
s.append(""); //拿到之前的内存上的值 修改上面的值 不会开辟新内存 使用线程安全 synchronized
StringBuilder s=new StringBuilder();//开辟一个新内存
s.append("");//拿到之前的内存上的值 修改上面的值 不会开辟新内存 未使用线程安全
结论 : 在单线程开发中:
使用StringBuilder 效率最高.
使用String 最慢
在多线程开发中:
使用StringBuffer 更安全.
使用String 最慢
StringBuffer 和 StringBuilder的区别,布布扣,bubuko.com
StringBuffer 和 StringBuilder的区别
原文地址:http://www.cnblogs.com/dingzb/p/3781251.html