2016-02-01 23 views
-1

我想用StringBuffer類,而不是String類,但我不覺得任何方法的StringBuffer類一樣,通過String類來替換字符的所有次數字符的所有次數替換()方法。下面更換使用StringBuffer的

代碼:

class Ram{ 
public static void main(String args[]){ 
StringBuffer sb=new StringBuffer("Hello my dear ,Hello,Hello,Hello"); 
sb.replace(1,3,"Java"); 
System.out.println(sb);//prints HJavalo 
} 
} 

輸出: HJavalo親愛的,你好,你好,你好

我新來的Java編程,我想知道是否有任何方法或技術有取代所有這些你好的Java .Thanks

+0

爲什麼你要使用的'StringBuffer'代替'String'? – JonK

回答

2

首先,如果你想用更好的PERF的一個可變String對象你可能想要一個StringBuilder而不是一個StringBuffer(除非你的代碼操縱它是多線程的,但是我對此給予了懷疑)。

其次,在這種情況下,使用String#replaceString#replaceAll會更好,這實際上是由String#replace調用的。

這裏的優化代碼是什麼樣子:

StringBuilder sb=new StringBuilder(
    "Hello my dear ,Hello,Hello,Hello" 
    .replace("Hello", "Java") 
); 
System.out.println(sb); 

輸出

Java my dear ,Java,Java,Java