String 类中使用 final 关键字修饰字符数组来保存字符串,
private final char value[],所以String 对象是不可变的。
每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。
StringBuilder 中没有final关键字,每次都会对 StringBuilder 对象本身进行操作,而不是生成新的对象并改变对象引用。
StringBuffer在StringBuilder 的基础上添加了同步锁,保证多线程情况下的安全