2015年2月8日 星期日

String & StringBuffer & StringBuilder

String & StringBuffer & StringBuilder


○ 可分為 
               ● 不可變更內容字串 :String 
               ● 可變更內容字串 :StringBuffer、StringBuilder



○ 記憶體(Memory)

● Global:用來存放宣告為static 的類別成員變數
● Static :用來存放宣告為基本資料型態宣告的變數或是物件參用值
● Heap  :用來存放字串常數或使用new所產生的物件實體

=============================================================================================

String 





















※  要比對兩個字串是否佔用相同的記憶體空間要使用「==
※  要比對兩個字串的內容值是否相等要使用「.equals()

---------------------------------------------------------------------------------------------------------------

StringBuffer    &    StringBuilder

















特性:
           ○  皆為動態相加字串

           ○  都是為了要提升程式效率且不浪費記憶體空間的技巧
          
相異:
            StringBuffer:實作為thread-safe且為synchronized (同步化)

            StringBuilder:實作為non-thread-safe,適用在單執行緒但不為synchronized (同步化)


語法:

 StringBuffer       StringBuffer sb = new StringBuffer ();
  
                         sb.append();


 StringBuilder     StringBuilder sbr = new StringBuilder();
  
                         sbr.append();

                       

















   StringBuilder

---------------------------------------------------------------------------------------------------------------









































沒有留言:

張貼留言