StringBuffer和StringBuilder
StringBuffer
StringBuffer对象则代表一个字符序列可变的字符串,当一个StringBuffer被创建以后,通过StringBuffer提供的append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变这个字符串对象的字符序列。一旦通过StringBuffer生成了最终想要的字符串,就可以调用它的toString()方法将其转换为一个String对象。
StringBuffer类中的方法都添加了synchronized关键字。
synchronized关键字当前对象实例加锁,进入同步代码前要获得当前对象实例的锁。
StringBuilder
StringBuilder和StringBuffer基本相似,StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高。