String、StringBuilder和StringBuffer有哪些区别?

 一、

        它们之间最大的区别就是String的内容是不可更改的,所谓的更改String的内容只是更改它的对象的引用指向而已。而StringBuilder和StringBuffer的内容是可以修改的。

二、

        StringBuffer和StringBuilder的大部分功能是相似的,但StringBuffer的所有公开方法都是synchronized修饰的,而StringBuilder并没有,所以StringBuffer是线程安全的,StringBuilder则不是。

三、

        String、StringBuilder和StringBuffer这三者之间,String的连接字符串效率是最低的,因为String每次连接字符串时都会创建一个新的String对象,而StringBuilder和StringBuffer至始至终都只有一个实例对象。StringBuilder和StringBuffer的连接效率差不多。

猜你喜欢

转载自blog.csdn.net/weixin_56960711/article/details/126082897