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);
}
}
显然当多次字符串需要更改叠加的时候,第二种方法比第一种方法有效率多了。。