String、StringBuilder、StringBuffer三者的区别

线程安全

String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)

运行速度

StringBuilder > StringBuffer > String

String

String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String

StringBuffer

一个类似于 String 的字符串缓冲区,但不能修改。StringBuffer上的主要操作是append(将这些字符添加到缓冲区的末端)和insert(指定的点添加字符)方法

StringBuilde

该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容