StringBuffer以及StringBuilder的使用

在java中,String类对象的内容是不能被改变的,例如String s="123"; 那么s的内容是不能够被改变的。

所谓内容不能变,不是说s="456"就不行了,那只是指向了别的字符串,而是说类似s[2]='9'这种试图修改"123"这个字符串的语句是不成立的


StringBuffer类是java提供的一个能够修改内容的作用类似字符串的字符串缓冲区类

定义对象:StringBuffer sbf=new StringBuffer(字符串或空);



StringBuffer类中提供了大量的功能:


sbf.append(参数)//参数类型可以为各种类型,但不包括byte 和 short:

作用是将参数内容添加到sbf中内容的结尾处,sbf这个对象的内容已经被修改,返回值就是sbf这个对象


sbf.insert(int index,String s)

作用是在下标为index处添加指定内容s,返回值同样是sbf这个对象


String str=sbf.toString()

作用是把sbf的内容生成字符串,返回值类型是String


sbf.delete(int start,int end)

作用是把从start到end(不包括end)的内容删除


sbf.deleteCharAt(int index)

作用是删除index位置的字符


sbf.getChars(int srcBegin,int srcEnd,char[] chs,int dstBegin)

作用是从sbf中取出从srcBegin到srcEnd(不包括srcEnd)的内容,并从下标为dstBegin开始,保存如字符数组chs中,无返回


sbf.replace(int start,int end,String s)

作用是把从start到end(不包括end)的内容改为s,返回sbf这个对象


sbf.setCharAt(int index,char c)

作用是把index位置的内容改为c,无返回值


sbf.reverse()

作用是内容反转,返回sbf这个对象



StringBuffer类中也有一些和String相同的功能:

sbf.charAt()

sbf.indexOf()

sbf.substring()

sbf.lastIndexOf()

sbf.length()



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


在JDK1.5版本后,java推出StringBuilder类,其中包含的功能和StringBuffer基本一致,区别就在于StringBuffer会保证线程同步,StringBuilder则不同步

StringBuffer任何情况下都会判断一下锁,效率较低,建议使用StringBuilder,当遇到多线程安全问题时,手动加锁即可。




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


顺便说一下基本数据类型对象包装类,这些类中提供了一些功能给对应的基本数据类型对象使用

主要应用:实现基本数据类型与字符串实现相互转换:

例如:int a=Integer.parseInt("123");//a=123

这些类中提供的功能还有很多,具体查阅API文档

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值