正确使用String、StringBuffer、StringBuilder
来源:互联网 发布:我的世界0.14.0家具js 编辑:程序博客网 时间:2024/06/03 04:38
CharSequence接口有三个实现类与字符串相关:String、StringBuffer、StringBuilder,虽然它们都与字符串有关,但是处理机制是不同的。
String、StringBuffer、StringBuilder简述
(一)String类:是不可改变的量,创建后是不可修改的。即内容不可变的字符串,改变内容就是创建新对象。
(二)StringBuffer类: 是可变字符序列,跟String一样,在内存中保存的都是有序的字符序列(char类型的数组),不同点是StringBuffer对象的值是可改变的。即内容可变的字符串,改变内容不改变对象。
(三)StringBuilder类: 跟StringBuffer类也是可变字符序列。不同点是:StringBuffer是线程安全的,方法前都有synchronized关键字;而StringBuilder是线程不安全的。
(四)性能方面: String类的操作都是产生新的String对象,而StringBuffer和StringBuilder只是字符数组的扩容而已,所以String类的操作要远慢于StringBuffer和StringBuilder。
使用场景
(一)使用String类的场景
在字符串不经常变化的场景中可以使用String类,例如常量的声明、少量的变量运算等。
(二)使用StringBuffer类的场景(多线程)
在频繁进行字符串的运算(如拼接、替换、删除等),并且运行多线程的环境中,则可以考虑使用StringBuffer,例如XML解析、HTTP参数解析和封装等。
(三)使用StringBuilder类的场景(单线程)
在频繁进行字符串的运算(如拼接、替换、删除等),并且运行单线程的环境中,则可以考虑使用StringBuilder,例如SQL语句的拼装、JSON封装等。
1 0
- 正确使用String、StringBuffer、StringBuilder
- 正确使用String、StringBuffer、StringBuilder
- Java_String_正确使用String、StringBuffer、StringBuilder
- Java提高:你能正确使用String、StringBuffer、StringBuilder吗
- 学习笔记之正确使用String、StringBuffer、StringBuilder
- String,StringBuffer,StringBuilder使用环境
- 何时使用 String, StringBuffer, StringBuilder
- string ,stringbuffer, stringbuilder 的使用
- 正确使用String 、StringBuffer 、StringBuiler
- String、StringBuffer和StringBuilder的使用
- String、StringBuilder、StringBuffer类使用笔记
- String、StringBuffer、StringBuilder的区别和使用
- String、StringBuffer、StringBuilder的区别及使用
- 使用StringBuilder或StringBuffer代替string
- String、StringBuffer、StringBuilder区别及使用场合
- java String / StringBuilder / StringBuffer 的使用
- String、StringBuffer和StringBuilder使用和区别
- String,Stringbuffer,Stringbuilder的使用区别
- Python matplotlib 线图(plt.plot())
- 如何修改Oracle占用8080端口与Tomcat冲突解决
- VC2008编译FFmpeg
- stringstream 函数产生随机数字字符串
- js对话框弹窗
- 正确使用String、StringBuffer、StringBuilder
- 黑马程序员 八、集合框架(2)
- DuiLib教程--从win32窗口开始
- 通过安装memadmin对memcache进行可视化管理
- 多个字符串的输出(指针数组、二级指针)
- 数据类型溢出
- Chrome 控制台console的用法(学了之后对于调试js可是大大有用的哦)
- 人口流向逆转带来什么变化(zz)
- 游戏开发完整学习路线(各个版本都有)