使用StringBuffer类替换所有出现的字符

时间:2016-02-01 15:06:02

标签: java

我想使用 StringBuffer类而不是 String类,但我找不到任何方法来替换 StringBuffer类之类的所有字符的出现 String class replace()方法。

以下代码:

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 替换所有 Hello 。谢谢

1 个答案:

答案 0 :(得分:3)

首先,如果你想使用一个可变的yScale(0)对象来获得更好的连接等,你可能需要String,而不是StringBuilder(除非你的代码操纵它是多线程,但我怀疑它,给出了这个例子)。

其次,在这种情况下,您最好使用StringBufferString#replace,这实际上是由String#replaceAll调用的。

以下是优化代码的样子:

String#replace

<强>输出

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