String、StringBuffer与StringBuilder之间区别
来源:互联网 发布:阿里云免费邮箱注册 编辑:程序博客网 时间:2024/06/14 18:19
1 三者在执行速度方面的比较:StringBuilder > StringBuffer > String
2 String 内容不可变,StringBuffer,StringBuilder内容可变
3
StringBuilder:线程非安全的
StringBuffer:线程安全的
对于三者使用的总结:1.如果要操作少量的数据用 = String 2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder 3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
String, StringBuffer, StringBuilder 三者都实现了CharSequence接口,意思是这三者都是字符序列,他们的底层都是用char[]实现的
但String和其他两者有很大的不同,String是不可变的,意思就是你在生成String对象后就不能改变其内部的char[]了,最初的char[]是什么就会一直是什么。这样设计的目的是简化存储(也就是String对象的共享)。
而StringBuffer, StringBuilder呢则是可变的,意思是你在生成其对象后可以改变其内部的char[],比如扩容,插入,删除等,这两个类是用于动态创建字符串的。这两者都是继承于AbstractStringBuilder,也就是他们具有相同的API(调用方式相同),两者间的不同唯一就是StringBuffer是线程安全的(可用于并发环境),StringBuilder不是线性安全的(不能用于并发环境,如果使用,可能会出现问题)。当在单线程环境时最好使用StringBuilder,应为他不用检查对象锁,所以速度、效率要更高
0 0
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String 、StringBuffer、与StringBuilder之间的区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- Java--String、StringBuffer与StringBuilder之间区别
- 日期函数
- Vim最常用的命令
- CSS之文本修饰篇
- EF 通用数据层父类方法小结
- iOS开发-文件管理(一)
- String、StringBuffer与StringBuilder之间区别
- 向量表偏移量的限制
- 五种Toast详解
- 《Linux操作系统分析》笔记2
- Refreshing Materialized Views
- iOS和JS交互
- Android自定义ViewGroup之子控件的自动换行和添加删除
- java区分访问端来源
- hrbust 哈理工oj 1418 夏夜星空【带权并查集】