Java学习之String,StringBuffer,StringBuilder三者之间的共同点与区别及使用场景

Java学习之String,StringBuffer,StringBuilder三者之间的共同点与区别及使用场景

一、共同点

1.String,StringBuffer,StringBuilder都是用于表示字符序列的类 。
2.内部实现基于字符数组,封装了对字符串处理的各种操作
3.可自动检测数组越界等运行时异常

二、区别

1.String常量的;它们的值在创建后无法更改。字符串缓冲区支持可变字符串。因为字符串对象是不可变的,所以它们可以共享。

2.StringBuffer线程安全、可变的字符序列。字符串缓冲区类似于String,但可以修改。在任何时候,它都包含一些特定的字符序列,但序列的长度和内容可以通过某些方法调用进行更改。

3.StringBuilder可变字符序列。此类提供了一个与StringBuffer兼容的API,但不保证同步。此类旨在用于单个线程使用字符串缓冲区的地方(通常情况下)用作StringBuffer的下拉式替换。在可能的情况下,建议优先使用此类,而不是StringBuffer,因为在大多数实现下,它将更快
StringBuilder的实例对多个线程使用不安全

三、使用场景

效率高低:StringBuilder > StingBuffer > String

当多个线程使用字符串缓冲区时,使用StringBuffer保证正确的操作(考虑安全性问题)

如果是单线程的,建议使用StringBuiler效率更高一些。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值