JAVA基础之StringBuilder

[AlehphSoul原创,转载请注明出处] 

---------------------------------------------------- --------

    我们有了StringBuffer,那为什么java里还有个StringBuilder呢?这个类是在java1.5里加进来的,1.4及以前的版本是没有的.那么StringBuilder到底有什么特别之处呢?

一、线程分析

    在看这篇文章的时候应该有不少人不了解什么叫线程同步,这里做一个形象的比喻:有一个摸奖的箱子,这个箱子只有一个口,并且这个口只能放一只手进去,每次只能一个人摸,那么这个箱子就是线程同步的;反之,同样有一个摸奖的箱子,这个箱子有很多口,可以有很多手进去,那么这个箱子就不是线程同步的。

    其实StringBuilder就是一个非线程安全的类,而StringBuffer是一个线程安全的类,这是它们的唯一区别,线程安全了,那么效率就会降低,线程不安全了,效率就会上升,因此,对于StringBuilder和StringBuffer,效率的高与低也是二者的重要区别。

二、使用策略

    对于不要求线程安全的字符串加减操作,尽量使用StringBuilder,因为它效率高于StringBuffer.同理,对于要求线程安全的操作, StringBuffer是不二的选择。

PS:这一节很简单,这里结合前面两节对String,StringBuffer,StringBuilder的使用做一下简单的总结.

    1、若字符串不做加减操作,使用String.

    2、若字符串对线程安全有要求,使用StringBuffer.

    3、若字符串对线程安全没有要求,并且追求效率,使用StringBuilder.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值