String、StringBuffer和StringBuilder的区别是什么?String为什么是不可变的?
发表于|更新于|整理归纳
|总字数:209|阅读时长:1分钟|浏览量:
String 、 StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?
String 、 StringBuffer 和 StringBuilder 的区别
String | StringBuffer | StringBuilder | |
---|---|---|---|
执行速度 | 最差 | 其次 | 最高 |
线程安全 | 线程安全 | 线程安全 | 线程不安全 |
使用场景 | 少量字符串操作 | 多线程环境下的大量操作 | 单线程环境下的大量操作 |
String 为什么是不可变的?
|
- String 类被 final 修饰导致其不能被继承,进而避免了子类破坏 String 不可变
- 保存字符串的数组被 final 修饰且为私有的,并且String 类没有提供/暴露修改这个字符串的方法
文章作者: MUMU
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 blog.wo0ow.com!