天天看点

连接字符串连接的性能

1.字符串连接操作符"+"。性能问题:为连接N个字符串而重复地使用字符串连接操作符,要求N的平方级的时间。这个是由于字符串是非可变的类而导致的问题,感觉就是像单例一样。当两个字符串被连接的时间,他们的内容都要被拷贝。

2.为了获得可接受的性能,我们一般使用StringBuffer替代String,用来存储构造字符串的过程。

public String statement(){

   StringBuffer sb=new StringBuffer(numItems()*LINE_WIDTH);

   for(int i=0;i<numItems();i++){

      sb.append(lineForItem(i));

   }

   return sb.toString();

}