1. 程式人生 > >面試題StringBuffer與StringBuilder的區別

面試題StringBuffer與StringBuilder的區別

package com.carter; import java.lang.StringBuilder; public class StringBuilderDemo {

    /*StringBuilder 不保證同步,用在字串緩衝區被單執行緒使用時      * 建議優先採用,比StringBuffer快      */     public static void main(String[] args) {                  /*          * 面試題 :StringBuffer與StringBuilder的區別          *           * StringBuffer是執行緒安全的,效能低          * StringBuilder是執行緒不安全的,效能高,適合在單執行緒使用,這種情況佔大多數          * 在JDK1.5之後才新增          */                           StringBuilder sb=new StringBuilder();                  /*字串相加操作          * 1.多個常量相加沒有效能問題,在編譯期就進行優化了          * 2.變數與常量想加,會產生多個垃圾物件          */         String a ="a"+1;         String c=null;         for(int i=0;i<5;i++){             c+=i;//每次迴圈會產生一個StringBuilder物件實現拼接,效能低                  //最好手動建立StringBuilder來實現拼接         }         //1.字串相加,在編譯後,會使用StringBuilder來優化程式碼,實現拼接         

    }

}