一:String为字符串常量,StringBuffer,StringBuilder为字符串变量。
二:StringBuffer是线程安全的,StringBuilder是线程不安全的,因为StringBuffer中很多方法带有synchronized关键字。
三:运行速度,StringBuilder<StringBuffer<String,但是因为StringBuilder是线程不安全的,所以建议在单线程下使用。
四:String为字符串常量,但是直接赋值情形下,速度优于StringBuffer和StringBuilder。虽然我们平常也能看见对String类型数据进行改变,那是在创建一个新的string类型,然后把原先string类型的和要修改的值赋予进去,原先的string类型被回收掉。