Java String,StringBuffer,StringBuilder的区别

主要分为两方面,一方面是运行速度,另一方面是线程安全。

运行速度:

StringBuilder>StringBuffer>String

String最慢是因为String是字符串常量,String的对象一旦被创建之后是不可更改的,Java实际对String的操作是一个不断创建新对象并回收旧对象的过程,所以运行速度就会慢很多,但StringBuffer,StringBuilder是字符串变量,对字符串变量进行操作,直接对该对象进行修改就可以。

线程安全:

StringBuffer是线程安全的,StringBuilder是线程不安全的。

如果一个StringBuffer对象在字符串缓冲区中进行多线程操作时,StringBuffer中很多方法是可以有Synchronized关键字的,但StringBuilder的方法没有该关键字,所以多线程环境下为了保证线程安全,就要使用StringBuffer,但如果是单线程或者是不规定需要确保线程安全的情况下还是建议使用速度较快的StringBuilder。

总结:

1.String适合于少量字符串操作。

2.StringBuffer适合于多线程下在字符串缓冲区中进行大量字符串操作。

3.StringBuilder适合于单线程下在字符串缓冲区中进行大量字符串操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值