简述StringBuffer与StringBuilder、String类的区别及StringBuffer常用的方法

StringBuffer

StringBuffer类能创建可以修改的字符串系列

StringBuffer buffer=mew StringBuffer(“I love you”);

追加方法append

buffer.append(" give me a chance");

那么现在buffer中的字符串变成了I love you give me a chance
insert(int index,String str)
将字符串str插入到第index位置
reverse()
将该对象实体中的字符串反转,并返回当前对象的引用
delete(int startIndex,int endIndex)
从该字符串的第startIndex个开始到第endIndex(不包含)个删除字符串并返回当前对象的引用。
replace(int startIndex,int endIndex,String str)
用字符串str替换从下标startIndex开始到endIndex-1这部分字符

=====================

StringBuilder

一个可变的字符序列。此类提供一个与StringBuffer兼容的API,但不保证同步。与StringBuffer功能相同。
StringBuffer与StringBuilder的区别:

  • StringBuffer是同步的,线程安全,相对于StringBuider效率低;
  • StringBuider是不同步的,线程不安全,效率高。====================

String

Java中的String类型是不允许改变其内容的,String类型的对象一旦建立,将在堆内存当中占据一个固定的内存空间,String类型的对象无法改变。
如果你定义了:
String s=“abc”;
那么将创建一个内容为"abc"的String对象,并且s指向这个对象。
一旦*s=s+123+new Date()*这样的操作,那么将创建一个新的String对象来存放新的内容,原先的对象依旧在内存中,但是s不再指向它,那么这个对象就会成为垃圾内存,在某一个特定的时刻有Java虚拟机回收。
如果希望存放的String可以调整大小,而不是创建新的内存来存放新的对象,可以使用StringBuffer这个类来存放。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值