StringBuffer

来源:互联网 发布:三棱手刺淘宝可以卖吗 编辑:程序博客网 时间:2024/06/09 18:31

StringBuffer,字符串缓冲区,其实就是一个容器,而数组也是一个容器,那么StringBuffer这个容器有和数组这个容器有什么不同呢?其实就是更强大嘛

数组只能操作一个类型的数据,但是StringBuffer可以同时操作多个类型的数据;数组的长度在数组建立的时候就一定的,不能改变,而StringBuffer的容量确实可变的;最后一个就是任何存入StringBuffer的数据,最后只需要调用toString方法就可以变成字符串了。

其次,就是这个容器就会和其他容器一样,具备最基本的如增删改查等的基本操作。

1:存储
StringBuffer append():将指定的数据作为参数添加到已有数据的结尾处
StringBuffer insert(index,数据):可以将数据插入到指定index位置


2:删除
StringBuffer delete(start ,end):删除缓冲区中的数据,包含start,不包含end
StringBuffer deleteCharAt(index):删除指定位置的数据


3:获取
char charAt(int index):获取指定位置的字符
int indexOf(String str):返回指定字符串第一次出现的位置
int lastIndexOf(String str):从后往前检索,返回指定字符串最后一次出现的位置
int length():获取长度
String substring(int start,int end):获取指定位置的子串


4:修改
StringBuffer replace(start,end,string ):把指定返回内的子串用指定的新子串替换
void setCharAt(int index,char ch):把指定位置的字符用指定的新字符替换


5:反转
StringBuffer reverse();将字符串进行转置的操作

6:将缓冲区中的指定数据存储到指定字符数组中
void getChars(int srcBegin,int srcEnd,char [] dst,int dstBegin) 

以上只是StringBuffer中的常用基本操作,更多的操作需要查阅API文档。


因为jdk的更新,在1.5版本后,对StringBuffer进行了改进,即又加入一个StringBuilder

因为StringBuffer是线程同步的,而StringBuilder是线程不同步的,所以StringBuffer更安全,但是以后开发中建议使用StringBuilder,因为它更高效,并且能够简化书写。

0 0
原创粉丝点击