黑马程序员:StringBuffer与StringBuilder的介绍及区别
来源:互联网 发布:csgo画面优化设置 编辑:程序博客网 时间:2024/06/14 02:05
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
StringBuffer是字符串缓冲区,是一个容器,有CURD功能(create,update,read,delete)增删改查
特点:1.长度可以变化
2.可以直接操作多个数据类型
3.最终会通过toString方法变成字符串
当数据长度、类型都不确定,但最终是字符串的时候,可以用StringBuffer
1.存储
StringBuffer append():将制定数据作为参数添加到已有数据结尾处
StringBuffer insert(index,data):可以将数据插入到制定index位置
方法调用链:操作之后返回来还是同一个对象,方法可以继续调用
StringBuffer sb = new StringBuffer();
sb.append("abc").append(true).append(32).insert(1,"qq"); //aqqbctrue32
2.删除
StringBuffer delete(int start, int end);删除缓冲区中的数据,删除的数据包含start,不包含end
StringBuffer deleteCharAt(int index);删除指定位置的字符
sb.delete(0,sb.length()); 清空缓冲区
3.获取
char charAt(int index); 返回指定字符
int indexOf(String str); 返回第一个str字符串索引值
int lastIndexOf(String str); 返回倒数第一个str字符串索引值
int length(); 获取长度
String substring(int start, int end); 获取子串
4.修改
StringBuffer replace(int start, int end, String str); //包含头不包含尾,把制定位置范围的字符串替换成str
上面的方法要注意和String的有区别:String的是 replace(oldstr,newstr);
void setCharAt(int index, char ch); 修改指定位置的字符
5.反转
StringBuffer reverse();
6.将缓冲区中指定数据存储到指定字符数组中
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin);
示例:
StringBuffer sb = new StringBuffer("abcdef");
char[] chs = new char[6];
sb.getChars(1,4,chs,1); 结果chs = {'','b','c','d','',''}
JDK1.5版本之后出现了StringBuilder
StringBuffer是线程同步,相当于有锁
StringBuilder是线程不同步,效率高,支持StringBuffer所有方法
建议开发使用StringBuilder,特别是单线程,多线程可以自己加锁
JAVA升级的三个因素:
1.提高效率
2.简化书写
3.提高安全性
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
- 黑马程序员:StringBuffer与StringBuilder的介绍及区别
- 黑马程序员 String StringBuffer StringBuilder 的区别
- StringBuffer与String及StringBuilder的区别
- 《黑马程序员》java笔记->StringBuffer概述及StringBuilder和数组的区别
- 黑马程序员——String与StringBuffer、StringBuilder的应用与区别
- 【黑马程序员】String,StringBuffer和StringBuilder的区别
- 黑马程序员——String StringBuffer StringBuilder的区别
- 黑马程序员--String,stringbuffer与stringbuilder的应用
- 黑马程序员_JAVA之StringBuffer 与 StringBuilder
- 黑马程序员——StringBuffer 与 StringBuilder
- StringBuffer 与 StringBuilder的区别?
- StringBuilder与StringBuffer的区别
- StringBuffer 与 StringBuilder的区别
- StringBuffer与StringBUilder的区别
- StringBuffer与StringBuilder的区别
- StringBuilder与StringBuffer的区别
- StringBuilder与StringBuffer的区别
- StringBuilder与StringBuffer的区别
- 张冠李戴:用PL/SQL验证用户密码
- 判断是否为回文数
- 苹果AppStore应用商店生存之道:国内iOS开发者创业经验分享
- Chrome终极全屏模式Kiosk
- Oracle层级询语句connect by 用法详解
- 黑马程序员:StringBuffer与StringBuilder的介绍及区别
- UVa 105 The Skyline Problem (想法题)
- struts2 上传文件
- 快要 弱冠之年
- C指针参数传递
- Java:对象的强、软、弱和虚引用
- Android UI系列:关于按钮点击事件
- 上大学的四年---以此结束四年的时光
- diff 比较文件差集