首页 > 代码库 > StringBuffer 和 StringBuilder的区别

StringBuffer 和 StringBuilder的区别

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 最慢