StringBuilder与String

    最近在做番茄钟的时候用到了字符串你的拼接,其中用到了StringBuilder,为了区分一下他和String的区别,深入的研究了一下。

    经过在网上的学习,我发现了不止又String和StringBuilder,还出现了一个StringBuffer,可以让我区分一下这三个的区别。

    在执行速度上,StringBuilder>StringBuffer>String。这是什么原因呢?答案揭晓,String是字符串常量,而StringBuffer和StringBuilder是字符串变量。

    StringBuilder是一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候。

    StringBuilder是C#钟先有的,而在Java中,首先出现的事StringBuffer,StringBuilder类来源于jdk1.5以后的版本。

    string和StringBuilder两者的终极区别:

1.string对象是恒定不变的,stringBuilder对象表示的字符串是可变的。StringBuilder是.net提供的动态创建string的高效方式,以克服string对象恒定性带来的性能影响。
2.对于简单的字符串链接操作,在性能上stringBuilder并不一定总是优于string。因为StringBuilder对象创建代价较大,在字符串目标链接较少的情况下,过度滥用StringBuilder会导致性能的浪费,只有大量的或者无法预知次数的字符串操作,才考虑StringBuilder来实现。事实上,一般连接次数设置100次以内,根本看不出两者性能的差别。
3.当修改字符串信息时,此时不许创建对象,可以使用StringBuilder对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值