搜尋
首頁Javajava教程java中String和StringBuffer的聯繫與區別

這篇文章主要介紹了java中String和StringBuffer的區別實例詳解的相關資料,一個小的例子,來測試String和StringBuffer在時間和空間使用上的差別,需要的朋友可以參考下

java中String與StringBuffer的區別實例詳解

String:

           是物件不是原始型別.
           為不可變物件,一旦建立,就不能修改它的值.
           儲存已儲存的)物件為新的物件
           String 是final類別,即無法繼承. 

StringBuffer:

  ,在對他進行修改的時候不會像String那樣重新建立物件
           它只能透過建構子建立,
         就會分配記憶體空間,並初始保存一個null.透過它的append方法向其賦值.
          sb.append("hello"); 


##字串連線作業中StringBuffer的效率要明顯比String高:


String物件是不可變物件,每次操作Sting 都會重新建立新的物件來保存新的值.
StringBuffer物件實例化後,只對這一個物件操作。 

我在這裡寫了一個小的例子,來測試String和StringBuffer在時間和空間使用上的差異。

public class Test {  
  public static void main(String args[]) {  
    String str = "abc";  
    StringBuffer sb = new StringBuffer("abc");  
    Runtime runtime = Runtime.getRuntime();  
    long start = System.currentTimeMillis();  
    long startFreememory = runtime.freeMemory();  
    for (int i = 0; i < 10000; i++) {  
      str += i;  
      //测试StringBuffer时候把注释打开  
      //sb.append(i);  
    }  
    long endFreememory = runtime.freeMemory();  
    long end = System.currentTimeMillis();  
    System.out.println("操作耗时:" + (end - start) + "ms," + "内存消耗:"  
        + (startFreememory - endFreememory)/1024 + "KB");  
  }  
}
 測試結果:


使用String做10000次向一字串後加入字串
操作耗時:1872ms,記憶體消耗:1301KB 


使用StringBuffer做10000次向一字串後加入字串

操作耗時:15ms,記憶體消耗:162KB###

以上是java中String和StringBuffer的聯繫與區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。