String和StringBuffer的区别

JAVA平台提供了两个类,String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据,这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串可以进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffer来动态构造字符数据

String类:
什么是 String?
String就是C++、java、VB等编程语言中的字符串,用双引号引起来的几个字符.如"Abc",“一天”.
Java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同
Java将字符串作为 String类型对象来处理。将字符串作为内置的对象处理允许 Java 提供十分丰富的功能特性以方便处理字符串
String 类是 Java 类库中最常用的类,其中最明显的原因是字符串在编程语言中是很重要的部分

String类
特 点:
在Java中有关字符串的最重要一点是,你创建的每一个字符串实际上都是 String 类型的一个对象,即使是字符串常量实际上也是 String 对象
字符串的另一个特点是,String 类型的对象是不可改变的;一旦创建了一个字符串对象,它的内容是不能被改变的
如果你需要改变一个字符串,你可以创建一个新的字符串,其中包含修改后的字符串即可
Java 定义了一个和 String 类同等的类叫 StringBuffer,它允许字符串改变

StringBuffer类概述:
StringBuffer 是提供了大量的字符串功能的String类的对等类。正如你所知,String表示了定长,不可变的字符序列。
相反,StringBuffer 表示了可变长的和可写的字符序列。StringBuffer可有插入其中或追加其后的字符或子字符串。StringBuffer 可以针对这些添加自动地增加空间,同时它通常还有比实际需要更多的预留字符,从而允许增加空间

StringBuffer类
构造方法:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
默认构造方法(无参数)预留了 16 个字符的空间。该空间不需再分配。第二种形式接收一个整数参数,清楚地设置缓冲区的大小。第三种形式接收一个字符串参数,设置 StringBuffer对象的初始内容,同时不进行再分配地多预留了 16 个字符的空间

String类和StringBuffer类对比:
String类和StringBuffer这两个类在外理字符时有各自的特点和适用场 合,具体对比如下:
1.String:字符串常量
String是不可变的对象,在每次String类型进行改变时其实都等同于生成一个新的String对象,然后指向新的String对象,所以经常改变内容最好不要用String类型,因为每次生成对象都会对系统性能产生影响.

2.StringBuffer:字符串变量
StringBuffer是可变的字符串,在每次对StringBuffer对象进行改变时,会对StringBuffer对象本身进行操作,而不是生成新的对象,再改变对象引用,所以,在字符串对象经常改变的情况下推荐使用StringBuffer类
字符串连接操作中,StringBuffer类的执行效率要比String类高,例如:
 String str=new String(“welcome to”);
 str+=“here”;
以上这两句代码是使用String类型来操作字符串,但其处理步骤实际上是通过建产一个StringBuffer对象,让它调用append()方法,最后再转化成String,这样的话,String的连接操作比StringBuffer多出了一些附加操作,当然效率要低.并且由于String对象的水可变性也会影响性能.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿松哥哥2018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值