StringBuffer与String的区别

来源:互联网 发布:芬里尔六式淘宝 编辑:程序博客网 时间:2024/04/30 09:42

StringBuffer与String类的区别在于实例化对象的多少,占了内存的多少。。比如 String s="hello";

s=s+" java ";那么这样需要两个String对象 1 "hello"  2 "hello java";而如果是StringBuffer s=new StringBuffer("hello");

那么 s.append(" java");仅仅是在该s实例里面改变了变量值而已,也还是一个实例。。以下有两个方法就更能明显的比较出来了:

//这是方法一

 public void method1(String s)

{

 String demo="hello ";

 for(int i=0;i<100;i++)

{

 demo=demo+s; 

}

}

//这是方法二

public void method2(String s)

{

  StringBuffer demo=new StringBuffer("hello");

 for(int i=0;i<100;i++)

{

 demo=demo.append(s);

}

 }

 

显然当多次字符串需要更改叠加的时候,第二种方法比第一种方法有效率多了。。