相同点:
- StringBuffer和StringBuilder在功能上是完全相等的,他们都继承自AbstractStringBuilder,使用方法也都一样;
- 可以对StringBuffer和StringBuild对象进行改变,每次改变还是在原来的对象上发生的,不会重新new出新的StringBuffer或StringBuilder;
- 二者都为可变的字符序列,底层都是用了char[]数组存储。
不同点:
StingBuild和StringBuffer最主要的区别就是在线程安全方面,由于StringBuffer内大部分方法都添加了synchronized同步,所以StirngBuffer是线程安全的,而StringBuild是线程不安全的。因此,当我们处于多线程的环境下,我们需要是用StringBuffer,如果我们的程序是线程安全的,那就使用StringBuilder性能更佳。