1.各自的介绍
[String介绍](https://blog.csdn.net/qq_39897446/article/details/107866228)
[StringBuffer介绍](https://blog.csdn.net/qq_39897446/article/details/107866663)
[StringBuilder介绍](https://blog.csdn.net/qq_39897446/article/details/107866788)
2.大概区别
String | StringBuffer | StringBuilder |
---|
字符序列内容、长度不允许改变 | 字符序列内容、长度可以允许改变 | 字符序列内容、长度可以允许改变 |
多线程环境下是线程安全,数值不可以变化的原因 | 多线程环境下是线程安全,内容、长度修改方法使用了线程同步机制(synchronized关键词修饰) | 多线程环境下是线程不安全,内容、长度的修改方法未使用锁的锁的机制 |
执行效率一般 | 执行效率高于String | 执行效率高于前两位 |
如果要操作少量的数据,用String | 多线程操作大量数据,用StringBuffer | 单线程操作大量数据,用StringBuilder |