StringBuffer类和StringBuilder类

2.StringBuffer类和StringBuilder类

和String类不同的是,StringBuffer类和StringBuilder类的对象能够被多次的修改,且不会产生新的对象,见图1.4.9。

StringBuilder类和StringBuffer类之间的最大不同在于,StringBuffer类适用于多道线程同时改变同一个字符串的情况,具有“线程安全性”。如果不是在多道线程的情况下或者没有“线程安全”的要求,用StringBuilder类比较合适,速度比较快。(有关线程安全的概念,可参见第12章或自行搜索。)

例如,对于如下两行语句,StringBuffer类对象的内存分配变化见图1.4.9。

图1.4.9 StringBuffer类对象的内存分配

StringBuffer类除了包含和String类中相似的方法外,还有一些其他的方法,下面列出StringBuffer类的一些常用方法(如表1.4.3所示),请自行在编程中学习。

表1.4.3 StringBuffer类的常用方法和描述