java中的StringBuilder

/*
StringBuffer是字符串缓冲区。
特点:
1.是一个容器。而且长度时刻变化的。
2.可以直接操作多个数据类型。
3.最终会通过toString()方法变成字符串。
C create R read U update D delete

1.存储。
    StringBuffer append();将指定数据作为参数添加到已有数据的结尾处。
    StringBuffer insert(int offset,数据);可以将数据插入指定位置。
2.删除。
    StringBuffer delete(int start,int end);删除缓冲区中的数据,包含start,不包含end。
    StringBuffer deleteCharAt(int 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(int start,int end,String str);
    void setCharAt(int index,char ch);
5.反转。
    StringBuffer reverse();
6.将缓冲缓冲区中指定数据存储到指定字符数组中。
    void getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin);
    --srcBegin:缓冲区开始位置,srcEnd:缓冲区结束位置,dst:字符数组,dstBegin:字符数组开始存储位置。


    JDK1.5版本之后出现了StringBuilder

    StringBuffer是线程同步。
    StringBuilder是线程不同步。

    以后开发,建议使用StringBuilder。
    升级三个因素:
    1.提高效率。
    2.书写方便。
    3.提高安全性。
*/

class  StringBufferDemo{
    public static void main(String[] args) {
        method_save();
        method_delete();
        method_update();
    }
    public static void method_save(){
        StringBuffer sb = new StringBuffer();
        //StringBuffer sb1 = sb.append(34);
        //show(sb.toString());//--34
        //show(sb1.toString());//--34
        //show("sb===sb1"+(sb==sb1));//--true

        sb.append("abc").append(true).append(34);
        sb.insert(1,"qq");
        show(sb.toString());

    }
    public static void method_delete(){
        StringBuffer sb = new StringBuffer("abcdef");
        sb.delete(1,3);
        show(sb.toString());//--adef

        //清空缓冲区
        //sb = new StringBuffer();--->指向新缓冲区--->败家
        sb.delete(0,sb.length());

        sb.deleteCharAt(2);//--abdef
    }
    public static void method_update(){
        StringBuffer sb = new StringBuffer("abcdef");
        sb.replace(1,4,"java");
        show(sb.toString());//--ajavaef

        sb.setCharAt(2,'k');
        show(sb.toString());//--abkdef
    }
    public static void show(Object obj){
        System.out.println(obj);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值