java中字符串拼接 String 和 StringBuilder(StringBuffer)的使用


字符串拼接是個常用的功能,經常性使用String做字符串拼接,當拼接次數多的時候,使用String方法會消耗大量的性能和時間,因為每次String拼接時都會建立一個新的對象,隨着拼接次數的增多,性能消耗、時間消耗會大量增加,這個時候應該使用StringBuilder方法。

 1 public static void main(String[] args) {
 2         try {
 3             int count = 500;
 4 
 5             long begin = System.currentTimeMillis();
 6             testString(count);
 7             long end = System.currentTimeMillis();
 8             long time = end - begin;
 9             System.out.println("String 方法拼接"+count+"次消耗時間:" + time + "毫秒");
10 
11             begin = System.currentTimeMillis();
12             testStringBuilder(count);
13             end = System.currentTimeMillis();
14             time = end - begin;
15             System.out.println("StringBuilder 方法拼接"+count+"次消耗時間:" + time + "毫秒");
16 
17         } catch (Exception e) {
18             e.printStackTrace();
19         }
20 
21     }
22 
23     private static String testString(int count) {
24         String result = "";
25 
26         for (int i = 0; i < count; i++) {
27             result += "hello ";
28         }
29 
30         return result;
31     }
32 
33     private static String testStringBuilder(int count) {
34         StringBuilder sb = new StringBuilder();
35 
36         for (int i = 0; i < count; i++) {
37             sb.append("hello");
38         }
39 
40         return sb.toString();
41     }

 

運行結果:

String 方法拼接500次消耗時間:2毫秒
StringBuilder 方法拼接500次消耗時間:0毫秒
String 方法拼接50000次消耗時間:4973毫秒
StringBuilder 方法拼接50000次消耗時間:3毫秒

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM