关于String,StringBuilder和StringBuffer的区别

本文介绍了Java中String、StringBuilder和StringBuffer的区别。String不可变,适合处理常量,频繁修改时导致大量对象创建。StringBuilder是非线程安全的,性能优于StringBuffer,适用于不关心线程安全的场景。在LeetCode的一道面试题中,使用StringBuilder进行字符串拼接,性能显著提升。
摘要由CSDN通过智能技术生成

先说StringBuilder和StringBuffer的区别:

       StringBuilder是JDK1.5引入的,与StringBuffer几乎完全一样,唯一区别仅在于StringBuilder没有实现原StringBuffer的线程安全功能,故性能有所提高,以供重视性能而安全要求不高的场合选用。

String与StringBuilder和StringBuffer的区别:   

  1. String用于处理常量字符串,而StringBuilder和StringBuffer则用于处理内容可变得字符串,这三个类都被声明为final,不能被继承。(因为StringBuilder和StringBuffer除了安全性能,几乎完全一样,所以下面StringBuffer和StringBuilder统称为StringBuffer)。
  2. String重写了从Object继承的equals方法,而StringBufffer没有。
  3. 因为String类只能处理常量字符串,所以不适合频繁的插入,删除和修改等操作,会产生大量String对象,内存消耗极大,这种情况应先转为StringBuffer。
  4. String对象之间可以用操作符“+”进行拼接,而StringBuffer对象不可以,但可以用append()方法。

 

但我知道这个知识点后,我做了一道面试题,让我有了直观的感受。(摘自LeetCode一道面试题)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值