30.在java中为啥不用“+”进行字符串的拼接-------一二熊猫冲冲冲

因为在for循环中如果进行加号的话,每次循环都会产生一个StringBuffer对象,例如:
int a;
String s=“a”;
for(int=0;i<10000;i++)
{s=s+m;}//效率低下,需要建立一万个对象;
这是为啥呢·?因为String s="a+b"时,语句会自动转化为:String s=new StringBuffer().append(“a”).append(“b”).toString();
这就充分说明了以上for语句为啥会创建一万个对象
那么,我们要怎么去修改呢?
可以做以下修改:
int c =1;StringBuffer st=new StringBuffer(“a”)//只建立一个对象
for(int i=0;i<10000;i++)
{
st.append(m);//调用append函数,append函数是对动态字符串数组添加,相当于“x”+“y”中的那个加号
}
30.在java中为啥不用“+”进行字符串的拼接-------一二熊猫冲冲冲