String,StringBuffer,StringBuilder运行速度的比较

1.String 是final对象,不会被修改,每次使用 + 进行拼接都会创建新的对象,而不是改变原来的对象;

2.StringBuffer 可变字符串,主要用于字符串的拼接,属于线程安全的;

3.StringBuilder 可变字符串,主要用于字符串的拼接,属于线程不安全的;

可通过以下代码来查看其运行速度:

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. /** 
  2.      * StringBuilder拼接,线程不安全,速度最快(10000条记录大概0毫秒) 
  3.      */  
  4.     public static void getStringBuilderTime(){  
  5.         long start = System.currentTimeMillis();  
  6.         StringBuilder sb = new StringBuilder();  
  7.         for(int i = 0;i < 10000;i++){  
  8.             sb.append(i);  
  9.         }  
  10.         long end = System.currentTimeMillis();  
  11.         System.out.println(end - start);  
  12.     }  
  13.       
  14.     /** 
  15.      * StringBuffer拼接,线程安全,速度略快(10000条记录大概16毫秒) 
  16.      */  
  17.     public static void getStringBufferTime(){  
  18.         long start = System.currentTimeMillis();  
  19.         StringBuffer sb = new StringBuffer();  
  20.         for(int i = 0;i < 10000;i++){  
  21.             sb.append(i);  
  22.         }  
  23.         long end = System.currentTimeMillis();  
  24.         System.out.println(end - start);  
  25.     }  
  26.       
  27.     /** 
  28.      * String拼接,线程安全,速度最慢(10000条记录大概265毫秒)  
  29.      */  
  30.     public static void getStringTime(){  
  31.         long start = System.currentTimeMillis();  
  32.         String sb = new String();  
  33.         for(int i = 0;i < 10000;i++){  
  34.             sb += i;  
  35.         }  
  36.         long end = System.currentTimeMillis();  
  37.         System.out.println(end - start);  
  38.     }  
posted @ 2016-12-06 16:59  天涯海角路  阅读(459)  评论(0)    收藏  举报