[toc]
### 一、可变字符串
String一旦被创建,值是不能改变,如果参与了操作,引用发生了变化,不是在原有的字符串上操作的,而是产生了一个<b>新的字符串</b>.
StringBuffer创建后值可以发生改变(增删改),但地址不会发生变化。

### 二、StringBuffer内部实现
StringBuffer的内部实现采用数组,默认数组长度为16。

### 三、常用API
#### append
添加字符串

#### insert
指定位置插入字符串

#### delete

#### indexof

### 四、String、StringBuffer和StringBuilder异同点
1.都是<b>final类</b>,都不允许被继承;
2.String长度是不可变的,StringBuffer和StringBuilder长度是可变的;
3.StringBuffer是线程安全的,StringBuilder不是线程安全的。
4.String类重写了equals方法,StringBuilder和StringBuffer没有equals方法,故用的是父类Object的equals方法。