StringBuffer与String主要的区别是:java
1.StingBuffer在进行字符串处理时不生成新的对象,可是String的每次修改都是产生新的对象,因此在内存上StringBuffer优于String安全
2.StirngBuffer只能经过构造函数创建。app
StringBuffer stringbuffer=new StringBuffer("ab");函数
注意:不能经过赋值符号赋值!!性能
3.String str = new String("welcome to ");ui
str += "China";
的处理步骤其实是经过创建一个StringBuffer,而后调用append(),最后
再将StringBuffer toSting();
这样的话String的链接操做就比StringBuffer多出了一些附加操做,固然效率上要打折扣.spa
若是在程序中须要对字符串进行频繁的修改链接操做的话.使用StringBuffer性能会更高。线程
StringBuffer与StringBuilder主要区别是:code
1.StringBuffer是线程安全的,StringBuilder是非线程安全的。对象
StringBuffer StringBuilder String三者相同点:
1.都是final 类型,不能被继承。
2.都实现了CharSequence接口
public class test { public static void main(String[] arg0){ StringBuffer stringBuffer=new StringBuffer("abc"); stringBuffer.append("de"); boolean bool=false; stringBuffer.append(bool); Object object=stringBuffer.charAt(2); Object object2=stringBuffer.substring(2, 4); System.out.println(stringBuffer); System.out.println(object); System.out.println(object2); } }
结果:abcdefalse
c
cd