几种拼接字符串的效率问题 .
                
                
                
                    
                        - 摘要:publicclasstest{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstublongn=30000;System.out.println("Start..."+n);longstart1=System.currentTimeMillis();Strings1=newString("hello");for(longi=0;i<n;i++){s1+="拼接字符串的时间";
- 标签:问题 字符串 效率 
 
                
                    
                    class="dp-j" start="1">
- public class test {   
-    
- public static void main(String[] args) {   
-         long n = 30000;  
-         System.out.println("Start... "+n);    
-           
-         long start1 = System.currentTimeMillis();     
-         String s1 = new String("hello");     
-         for (long i = 0; i < n; i++)     
-         {     
-             s1+="拼接字符串的时间";     
-         }     
-         long end1 = System.currentTimeMillis();     
-         long time1 = end1 -start1;     
-         System.out.println("用String+=拼接字符串的时间"+time1);     
-              
-         long start2 = System.currentTimeMillis();     
-         String s2 = new String("hello");     
-         for (long i = 0; i < n; i++)     
-         {     
-             s2=s2+"拼接字符串的时间";     
-         }     
-         long end2 = System.currentTimeMillis();     
-         long time2 = end2 -start2;     
-         System.out.println("用String=String+拼接字符串的时间"+time2);   
-           
-         long start3 = System.currentTimeMillis();     
-         String s3 = new String("hello");     
-         for (long i = 0; i < n; i++)     
-         {     
-             s3=s3.concat("拼接字符串的时间");     
-         }     
-         long end3 = System.currentTimeMillis();     
-         long time3 = end3 -start3;     
-         System.out.println("用String.concat拼接字符串的时间"+time3);   
-           
-         long start4 = System.currentTimeMillis();     
-         StringBuffer s4 = new StringBuffer("hello");     
-         for (long i = 0; i < n; i++)     
-         {     
-             s4.append("拼接字符串的时间");     
-         }     
-         long end4 = System.currentTimeMillis();     
-         long time4 = end4 -start4;     
-         System.out.println("用StringBuffer.append拼接字符串的时间"+time4);     
-              
-         long start5 = System.currentTimeMillis();     
-         StringBuilder s5 = new StringBuilder("hello");     
-         for (long i = 0; i < n; i++)     
-         {     
-             s5.append("拼接字符串的时间");     
-         }     
-         long end5 = System.currentTimeMillis();     
-         long time5 = end5 -start5;     
-         System.out.println("用StringBuilder.append拼接字符串的时间"+time5);     
-           
-         System.out.println("End...");    
- }   
-    
- }   
 
贴出一组检测数据如下:
 
[java] view plaincopy
 
 
- 用String+=拼接字符串的时间27468  
- 用String=String+拼接字符串的时间25813  
- 用String.concat拼接字符串的时间12265  
- 用StringBuffer.append拼接字符串的时间14  
- 用StringBuilder.append拼接字符串的时间8