程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 幾種拼接字符串的效率問題 .,幾種拼接字符串效率

幾種拼接字符串的效率問題 .,幾種拼接字符串效率

編輯:C#入門知識

幾種拼接字符串的效率問題 .,幾種拼接字符串效率


  1. public class test {   
  2.    
  3. /**  
  4. * @param args  
  5. */   
  6. public static void main(String[] args) {   
  7. // TODO Auto-generated method stub   
  8.         long n = 30000;  
  9.         System.out.println("Start... "+n);    
  10.           
  11.         long start1 = System.currentTimeMillis();     
  12.         String s1 = new String("hello");     
  13.         for (long i = 0; i < n; i++)     
  14.         {     
  15.             s1+="拼接字符串的時間";     
  16.         }     
  17.         long end1 = System.currentTimeMillis();     
  18.         long time1 = end1 -start1;     
  19.         System.out.println("用String+=拼接字符串的時間"+time1);     
  20.              
  21.         long start2 = System.currentTimeMillis();     
  22.         String s2 = new String("hello");     
  23.         for (long i = 0; i < n; i++)     
  24.         {     
  25.             s2=s2+"拼接字符串的時間";     
  26.         }     
  27.         long end2 = System.currentTimeMillis();     
  28.         long time2 = end2 -start2;     
  29.         System.out.println("用String=String+拼接字符串的時間"+time2);   
  30.           
  31.         long start3 = System.currentTimeMillis();     
  32.         String s3 = new String("hello");     
  33.         for (long i = 0; i < n; i++)     
  34.         {     
  35.             s3=s3.concat("拼接字符串的時間");     
  36.         }     
  37.         long end3 = System.currentTimeMillis();     
  38.         long time3 = end3 -start3;     
  39.         System.out.println("用String.concat拼接字符串的時間"+time3);   
  40.           
  41.         long start4 = System.currentTimeMillis();     
  42.         StringBuffer s4 = new StringBuffer("hello");     
  43.         for (long i = 0; i < n; i++)     
  44.         {     
  45.             s4.append("拼接字符串的時間");     
  46.         }     
  47.         long end4 = System.currentTimeMillis();     
  48.         long time4 = end4 -start4;     
  49.         System.out.println("用StringBuffer.append拼接字符串的時間"+time4);     
  50.              
  51.         long start5 = System.currentTimeMillis();     
  52.         StringBuilder s5 = new StringBuilder("hello");     
  53.         for (long i = 0; i < n; i++)     
  54.         {     
  55.             s5.append("拼接字符串的時間");     
  56.         }     
  57.         long end5 = System.currentTimeMillis();     
  58.         long time5 = end5 -start5;     
  59.         System.out.println("用StringBuilder.append拼接字符串的時間"+time5);     
  60.           
  61.         System.out.println("End...");    
  62. }   
  63.    
  64. }   



 

貼出一組檢測數據如下:

 

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片  
  1. 用String+=拼接字符串的時間27468  
  2. 用String=String+拼接字符串的時間25813  
  3. 用String.concat拼接字符串的時間12265  
  4. 用StringBuffer.append拼接字符串的時間14  
  5. 用StringBuilder.append拼接字符串的時間8  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved