黑马程序员技术交流社区

标题: StringBuffer [打印本页]

作者: 陈鹏No1    时间: 2015-7-24 15:29
标题: StringBuffer
StringBuffer是字符串缓冲区,是一个容器。
面盆理论:往面盘里面放些面,面盆还是原来的;放些水,还是原来的面盆。就是不管添加什么,返回的对象还是该对象。
特点:
1,长度是可以变化的。
2,可以操作多个数据类型。
3,最终会通过toString方法变成字符串。
当数据类型不确定,而且最终变成字符串,且个数不确定时用缓存区。
功能:
1,存储
        StringBuffer append();将指定数据作为参数添加都原数据末尾。
        StringBuffer insert(insertIndex,任何参数);将数据作为作为指定参数插入到指定位置。
2,删除
        StringBuffer delete(start,end);删除缓冲区中的数据,删除区域包含Start,不包含end。
        StringBuffer deleteCharAt(index);删除指定位置的字符。
        清空缓冲区:new StringBuffer();//新开一个缓存区也可以,但是不用这个方法。
                            delete(0,sb.length);//清空缓冲区,就用这个方法。
3,获取
        Char charAt(index);获取指定位置字符。
        Int indexOf(String str);获取字符的位置。
        Int lastIndexof(String str);获取字符最后一次出现的位置。
        Int length();
        String substring(int start,int end);
4,修改
        Replace(int start,int end,String str);
        Void setCharAt(index,char);//替换某一位字符,只替换,不返回。
5,反转
        StringBuffer reverse()

6,void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);将缓冲区中指定数据存储到指定字符中。包含头,不包含尾。

7,JDK1.5版本之后出现了StringBuilder,StringBuffer是线程同步的,StringBuilder是线程不同步的。
使用的时候,单线程时用StringBuilder效率更高,多线程时建议用StringBuffer。
以后开发,建议使用StringBuilder,因为效率高。

版本升级的三要素:
提高效率,简化书写,提高安全性。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2