StringBuffer和StringBuilding类

本文介绍了Java中用于大规模字符串拼接的StringBuffer和StringBuilder类,强调了它们在性能和线程安全性上的差异。StringBuffer在多线程环境下是线程安全的,适合并发操作,而StringBuilder则没有同步机制,适用于单线程环境,效率更高。在创建对象时,建议根据需求预估容量以避免不必要的扩容操作,从而提高程序性能。
摘要由CSDN通过智能技术生成

1、StringBuffer:

       a、 作用:用于大规模拼接字符串,相比于"+"而言节省方法区内存

       b、 调用方法:StringBuffer s=new StringBuffer()

                        s.append("a");

                        s.append("b");

                        s.append("c");

                        System.out.println(s)//输出为"abc"

   c、 注意:这里的StringBuffer类中的构造方法在一开始会初始化一个容量为16Byte的数组,如果在添加的时候数组满了会自动扩容,所以为了优化程序避免扩容,在一开始调用的时候要预估计数组的长度,避免数组扩容,也就节省了计算资源。优化为:

StringBuffer s=new StringBuffer(int capacity)

                        s.append("a");

                        s.append("b");

                        s.append("c");

                        System.out.println(s)//输出为"abc"

1、StringBuilder:

           作用:也是字符串拼接,但是与StringBuffer有区别

           调用方式:StringBuilder s=new StringBuilder(int capacity)

                        s.append("a");

                        s.append("b");

                        s.append("c");

                        System.out.println(s)//输出为"abc"

           与StringBuffer的区别:StringBuffer()方法前面有synchronized修饰,而StringBuilder()方法前没有synchronize修饰,因此StringBuffer是线程安全的,而StringBuilder是非线程安全的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值