String、StringBuilder和StringBuffer的区别

相同点:

String、StringBuilder和StringBuffer 都代表字符串,并提供处理字符串的方法

不同点:

  • String 是不可变对象,改变字符串时,会生成一个新String对象

  • StringBuilder 是可变对象,改变字符串时,不会产生新的对象
    不是线程序安全的,在单线程下,效率更高

  • StringBuffer 是可变对象,改变字符串时,不会产生新的对象
    线程安全的,效率较低

三者速度比较

String < StringBuffer < StringBuilder

性能比较代码见 链接