1.String 是个不可变长度的字符串,而StringBuffer是个可变长度的字符串;
2、在对String类进行操作的时候(例如增加字符),实际上是在内存中产生了一个新的String对象; 而StringBuffer是给原对象增加字符,不是新创建一个对象;
(说明:String是有不可变性的,如果String中的内容一旦发生变化必将开辟新的空间。
由于String的不可变性造成当对String中的内容进行连续改变,效率低下。正因为这个问题Java提供了String的工具类:StringBuilder,StringBuffer
二者中所保存的字符串信息都是可变的,即改变StringBuilder,StringBuffer中的内容不会开辟新的内容地址
这样,当对里边内容进行连续改变时,效率会比较高
。)
3.StringBuilder和StringBuffer的区别是,StringBuilder是线程不同步的,StringBuffer是线程同步的。