public String getA(){
   String a = "";
   for(int i=0;i<100;i++){
     a += i;
   }
   retrn a;
}
如何优化

解决方案 »

  1.   


    public String getA(){ 
      StringBuffer a = new StringBuffer(192); 
      for(int i=0;i <100;i++){ 
        a.append(i); 
      } 
      retrn a.toString(); 

      

  2.   

    public String getA(){ 
      StringBuilder a = new StringBuilder(); 
      for(int i=0;i <100;i++){ 
        a.append(i); 
      } 
      retrn a.toString(); 

      

  3.   

    lz的a是空字符串,在怎么加也是空字符串,不知到lz是什么意思?
    如果只是字符串相加,那用在一个此时数很多的循环内用StringBuffer.append()比String+=快。
      

  4.   

    public string getA()
    {
        return "0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899";
    }
      

  5.   

    频繁的字符串连接,用StringBuilder吧,就像3#那样。效率高。
      

  6.   

    public String getA(){ 
      StringBuilder a = new StringBuilder(); 
      for(int i=0;i <100;i++){ 
        a.append(i); 
      } 
      retrn a.toString(); 
      

  7.   

    StringBuffer类底层是以链表构建的,众所周知链表的修改速度是很有效率的
      

  8.   

    public String getA(){ 
      StringBuffer a = new StringBuffer(192); 
      for(int i=0;i <100;i++){ 
        a.append(i); 
      } 
      retrn a.toString(); 

     用stringBuffer 比string 省内存 用该快