可变性
- String 是不可变的,如果你想要去修改它们的值,另一个对象会被创建
- 然而StringBuffer和StringBuilder是可变的,所以他们能改变他们的值
线程安全
StringBuffer 是线程安全的。所以当应用需要执行单独一个线程时,最好是使用StringBuilder,StringBuilder比StringBuffer更有效率。
适用场景
- 如果你的字符串将不需要去改变,就使用Strng类,因为String对象是不可变的。
- 如果你的字符串需要改变,比如大量逻辑和操作在字符串的构造上,而且访问单线程,使用StringBuilder足够好的。
- 如果你的字符串需要改变,而且访问的是多线程,就使用StringBuffer,因为StringBuffer是同步的,所以你可以保证线程安全。
网友评论