StringBuffer
1,线程安全的可变字符序列。一个类似于
String
的字符串缓冲区,但不能修改
2,虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
3,
StringBuffer
上的主要操作是 append
和 insert
方法,append
方法始终将这些字符添加到缓冲区的末端;而 insert
方法则在指定的点添加字符。
4,每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大.
StringBuilder
根StringBuffer几乎一样,只是一个线程安全一个不安全的事情,StringBuilder不安全,不保证同步,StringBuffer是同步的,线程是安全的,但是StringBuilder比StringBuffer快,
String
1,字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。
2,字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过StringBuffer或者StringBuffer和append方法实现的,StringBuffer与StringBuilder不可以使用
3,String 重写了equals的方法,但是StringBuffer与StringBuilder没有,