String、StringBuffer、StringBuilder的区别
String | StringBuffer | StringBuilder | |
---|---|---|---|
线程 | 常量 | 安全 | 不安全 |
扩容 | 常量,不扩容 | 2倍+2 | 2倍+2 |
默认长度 | 无 | 16 | 16 |
添加字符速度 | 不快 | 快 | 更快 |
适用 | 少量数据 | 大量数据(并发) | 大量数据(单线程) |
- | +的底层实现为StringBuilder - | - | - |
String | StringBuffer | StringBuilder | |
---|---|---|---|
线程 | 常量 | 安全 | 不安全 |
扩容 | 常量,不扩容 | 2倍+2 | 2倍+2 |
默认长度 | 无 | 16 | 16 |
添加字符速度 | 不快 | 快 | 更快 |
适用 | 少量数据 | 大量数据(并发) | 大量数据(单线程) |
- | +的底层实现为StringBuilder - | - | - |