StringBuffer和Stringbuilder的区别

区别和共同点

不同点:

stringbuffer和stringbuilder都不同于string

,string当修改字符串时,是在内存中创建一个新的字符串,并把地址传给string 对象,因此比较浪费空间,而stringbuffer和stringbuilder是在初始时创建一个容器,当修改的时候会修改容器中的内容,而不是创建一个新的容器,所以如果有一个需要频繁改变的字符串的话,最好不要使用string。

string buffer和stringbuilder的方法基本上相同

区别:

stringbuffer线程安全的使用synchronization修饰的方法

stringbuilder线程不安全的

在单线程下推荐使用stringbuilder,因为他没有加线程锁

stringbuilder

在stringbuilder中他的方法并没有加线程锁,所以他的效率高一点,但是如果在多线程的情况下,不推荐使用。

 StringBuilder ss=new StringBuilder();
       //添加内容到容器尾部
        ss.append("aaaaa");
        //删除第一个到第二个的元素
        ss.delete(1,2);
        //插入元素到指定位置
        ss.insert(2,"bbb");
        //删除指定位置的元素
        ss.deleteCharAt(2);
        //替换指定位置的元素
        ss.replace(1,3,"ccc");
        //反转内容
        ss.reverse();
        //截取内容,返回一个charsequence对象
        CharSequence x = ss.subSequence(2, 4);
        System.out.println(x);
        //截取内容返回一个字符串
        System.out.println(ss.substring(1));
        ss.append("weweraereasearaerwarsa");
        //获取stringbuffer的容器大小
        System.out.println(ss.capacity());
        //获取string buffer的长度
        System.out.println(ss.length());
        //将stringbuffer转成string对象
        String ss1 = ss.toString();
        System.out.println(ss);

stringbuffer
StringBuffer stringBuffer = new StringBuffer("11qwqwq");
//stingbuffer和stringbuilder的方法基本一致

  • 6
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值