String和String缓冲区之间的常用方法

时间:2011-08-24 08:57:27

标签: java

  

可能重复:
  String, StringBuffer, and StringBuilder

String和StringBuffer之间有哪些常用方法?字符串和字符串缓冲区之间有什么区别?

5 个答案:

答案 0 :(得分:2)

最大的区别是String是不可变的,StringBuffer是可变的。

答案 1 :(得分:1)

StringBuffer可让您更快地加入字符串。例如,以下代码:

String s = "Initial string ";
for (int i = 0; i < 100; i++) {
    s = s + i;
}

在每次迭代时都会创建一个表示整数i的字符串,并且还会创建一个新的si字符串,并将s引用移动到此新对象。它不会通过扩展其内容来重用相同的s对象。

StringBuffer可让您更有效地追加字符串。此类的新版本名为StringBuilder,基本上StringBuffer没有同步。

答案 2 :(得分:1)

StringBuffer JavaDoc上的前几行给出了一个很好的答案:

  

线程安全,可变的字符序列。字符串缓冲区类似于String,但可以修改。

答案 3 :(得分:0)

当您需要将多个String文字连接在一起时,最好使用StringBuffer对象,并且当您完成连接时,将其转换为String使用toString()方法的对象。

编辑:请忽略以下几行

以下在理论上实例化String池中的6个String对象。

String a = "A" + "B" + "C" + "D" + "E"; 

答案 4 :(得分:0)

最明显的共享方法是由StringStringBuffer(以及StringBuilder)实现的接口指定的方法:Appendable。它提供了3种附加其他值的方法。