黑马程序员 字符串缓冲区小结
来源:互联网 发布:淘宝售后客服在哪里 编辑:程序博客网 时间:2024/06/06 13:49
------- android培训、java培训、期待与您交流! --------------------------------
1.字符串缓冲区对象Stringbuffer和StringBuilder
1.1为什么要学习和使用缓冲区对象
缓冲区:是为了提高程序的效率
String类,效率比较低
StringBuffer效率比较高
String类是一个不变对象,一旦初始化就不会变化
主要表现在内存中
例如:String s1 = "abc";
String s2 = "def";
String s3 = s1+s2;
s3 = "abcdef";
运算结束后,内存中有三个对象"abc","def","abcdef"
而 StringBuffers1 = "abc";
StringBuffers2 = "def";
StringBuffers3 = s1+s2;
s3 = "abcdef";
运算结束后,在内存中只有剩下一个对象"abcdef"
StringBuffer
线程安全的可变字符序列。
字符序列--字符串缓冲区底层数据结构,是可变数组,赋值方式
来实现
数组扩容,复制数组,并删除原数组
频繁操作字符串,建立采用StringBuffer缓冲区对象
1.2 StringBuffer的常用方法
1.2.1 构造方法
空参数的StringBuffer() ,自动创建一个16位的数组
带有一个字符串参数的StringBuffer(String str)
传递一个字符串,字符串就被直接放进了缓冲区
1.2.2 将任意类型数据,追加到缓冲区
任意类型,变成字符串
方法是append(任意类型) 结果都会是字符串
向缓冲区中,追加字符串
append()方法,返回值是StringBuffer
运行结果还是缓冲区对象
append(){
return this;
}
如StringBuffer buffer= new StringBuffer();
buffer.append("12.35");
1.2.3 删除缓冲区中的数据
delete(int start, int end)删除缓存区中一部分字符串,包含
头,不包含尾
1.2.4 在缓冲区的指定位置上,插入数据
insert(下标int ,任意类型数据)
注意:下标int可以等于原字符串缓冲区的长度,但不能大于
1.2.5 改,修改缓冲区中的内容
setCharAt(索引,修改的char值)
1.2.6翻转缓冲区中的字符
reverse() 返回值StringBuffer
其实可以理解为将字符数组中元素翻转
1.3 StringBuilder
StringBuilder也是一个字符串缓冲区
StringBuilder和StringBuffer在方法上,和使用上一模一样,没有
区别
区别在哪里
StringBuffer 版本开始JDK1.0
StringBuilder 版本开始JDK1.5
StringBuffer是一个线程安全的对象
StringBuilder是一个线程不安全对象
日后开发推荐使用StringBuilder,执行效率跟快
凡是线程安全的,运行效率都低
线程不安全的,运行效率都高
ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 详细请查看:www.itheima.com
- 黑马程序员 字符串缓冲区小结
- 黑马程序员--字符串缓冲区
- 黑马程序员_字符串缓冲区
- 黑马程序员_StringBuilder字符串缓冲区
- 黑马程序员-字符串小结
- 黑马程序员--字符串以及字符串缓冲区
- 黑马程序员--字符串以及字符串缓冲区
- 黑马程序员,StringBuffer是字符串缓冲区
- 黑马程序员--字符串缓冲区StringBuffer 和 StringBuiler
- 黑马程序员__12JAVA基础 字符串缓冲区
- 黑马程序员__Java字符串的缓冲区对象
- 黑马程序员---String字符串小结
- 黑马程序员09——字符串、字符串缓冲区
- 黑马程序员———字符串和字符串缓冲区
- 黑马程序员--java基础--String类和字符串缓冲区
- 黑马程序员—Java API(字符串缓冲区StringBuffer、StringBuilder)
- 黑马程序员_日记28_Java字符串缓冲区
- 黑马程序员之缓冲区
- Mac OS X 10.9 配置jdk1.7
- Swift--字符串和字符(一)
- Delphi的“动态窗体”技术实际应用
- 简单通讯录
- Tomcat 7优化
- 黑马程序员 字符串缓冲区小结
- 数论 A - 梦 -----acdream ACdream原创群赛(12)のBUAA选拔赛
- java编码、解码URLEncoder、URLDecoder测试
- SVD在推荐系统中的应用(笔记)
- freemarker报错之十五
- UI标签库专题三:JEECG智能开发平台 FormValidation(表单提交及验证标签)
- j2ee面试题
- 八皇后问题
- 好久不来,开始java基础补课~~第一讲~~