java基础-StringBuffer(常见功能—添加、删除和修改)

来源:互联网 发布:黑色星期五 知乎 编辑:程序博客网 时间:2024/06/11 15:29

StringBuffer是字符串缓冲区,是一个容器。
1、长度是可变化的;(数组长度不变)
2、可以操作多个数据类型;
3、最终会通过toString方法变成字符串。

1、添加。
StringBuffer append(); //将指定数据作为参数添加到已有数据结尾处
StringBuffer insert(index,数据); //可以将数据插入到指定index位置
2、删除。
StringBuffer delete(start,end); //删除缓冲区中的数据,包含start,不包含end
StringBuffer deleteCharAt(index); //删除指定位置的字符
3、修改。
StringBuffer replace(start,end,string); //用string字符串替换原有字符串中的数据,包含start,不包含end
void setCharAt(int index,char ch); //用ch字符替换指定位置的字符(注意:void没有返回值)
4、获取。
char charAt(int index); //根据角标获取
int indexOf(String str); //根据字符串获取位置
int lastIndexOf(String str); //如果出现字符串参数一次或多次,则返回最后一个这样的字符串的第一个字符的索引返回
int length(); //获取长度
String substring(int start,int end); //获取子字符串,包含start,不包含end(注意:访问的是String,不是StringBuffer)
5、反转。
StringBuffer reverse(); //返回StringBuffer对象的颠倒顺序
6、将缓冲区中指定数据存储到指定数组中。
void getChars(int scrBegin,int scrEnd,char[] dst,int dstBegin); //scrBegin(源开始位),dstBegin(目标开始位)

代码示例:

class  StringBufferDemo{    public static void main(String[] args)     {        method_add();//调用方法method_add()        method_del();        method_update();    }    //添加    public static void method_add()    {        StringBuffer sb=new StringBuffer();//新建StringBuffer对象sb        sb.append("abc").append(true).append(34);//方法调用链        sop(sb.toString());//返回abctrue34         sb.insert(1,"qq");        sop(sb.toString());//返回aqqbctrue34        StringBuffer sb1=sb.append(34);//新建StringBuffer对象sb1,此时sb为aqqbctrue3434        sop(sb1.toString());//返回aqqbctrue3434        sop("sb==sb1"+(sb==sb1));//返回sb==sb1true    }    //删除    public static void method_del()    {        StringBuffer sb=new StringBuffer("abcde");        sb.delete(1,3);        sop(sb.toString());//返回ade        sb.deleteCharAt(2);        sop(sb.toString());//返回abde        sb.delete(0,sb.length());//清空缓冲区    }    //修改    public static void method_update()    {        StringBuffer sb=new StringBuffer("abcde");        sb.replace(1,4,"java");        sop(sb.toString());//返回ajavae        sb.setCharAt(2,'k');        sop(sb.toString());//返回abkde    }    //封装打印功能    public static void sop(String str)    {        System.out.println(str);    }}
0 0