? asked in 電腦與網際網路程式設計 · 1 decade ago

[JAVA]String與StringBuffer 的比較?

想請問一下各位大大們 String 與 StringBuffer 這兩個JAVA指令

在使用上的不同 . 用法 . 以及比較 ?

(能否詳細的介紹) 拜託了

--JAVA入門者

Update:

請問各位高手們是否有網頁可以介紹這兩個指令的比較與差別?

3 Answers

Rating
  • 1 decade ago
    Favorite Answer

    string:當字串已在記憶體中被建立出來的話,該記憶體中的字串內容就不允許被變更,例如:String s="java";

    這時候假設記憶體的位置在0XABC存放著"java",但是如果我們這樣做s+="2";

    這時候會有一個新的記憶體位置叫做0XERT存放著"java2",我們可以發現0XABC記憶體位置並不允許被更改。

    StringBuffer :是一種可以提升程式效率且又不會浪費記憶體空間,例如:StringBuffer x = new StringBuffer("java");假設記憶體的位置在0XABC存放著"java",但是如果我們這樣做x.apend("2");這時候會有在之前的記憶體位置0XABC存放著"java2",是直接在原地增加空間來存放新的內容。

    所以我想兩個最大的差別大概就是會否會用額外的記憶體位置去存放變數吧!

    Source(s): 自己
  • 1 decade ago

    1.String a="java";

    a=a+"program";

    2.StringBuffer a = new StringBuffer("");

    a.apend("java");

    a.apend("program");

    以上兩種方式都可以印出java program

    但是 第一種方式每作一次 a=a+xxxx的時候 就會多浪費一塊記憶體

  • 裕勝
    Lv 5
    1 decade ago

    String是一種字串常數,寫死的,不可變動。

    如:如果有"HELLW JAVA"就直接會用String來處理。

    StringBuffer 是一種字串變數,可以運算,可以變動。

    如:如果有"HELLW"+"JAVA"就直接會用StringBuffer來處理。

    Source(s): 小強
Still have questions? Get your answers by asking now.