java

导航

JavaStringBuffer与StringBuider

来源 :中华考试网 2020-12-09

  String 的值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低,而且耗费大量内存空间。

  StringBuffer类和String类一样,也用来表示字符串,但是StringBuffer的内部实现方式和String不同,在进行字符串处理时,不生成新的对象,在内存使用上要优于String。

  StringBuffer 默认分配16字节长度的缓冲区,当字符串超过该大小时,会自动增加缓冲区长度,而不是生成新的对象。

  StringBuffer不像String,只能通过 new 来创建对象,不支持简写方式。

  StringBuffer类的主要方法

  StringBuffer类中的方法主要偏重于对于字符串的操作,例如追加、插入和删除等,这个也是StringBuffer类和String类的主要区别。实际开发中,如果需要对一个字符串进行频繁的修改,建议使用 StringBuffer。

  1) append() 方法

  append() 方法用于向当前字符串的末尾追加内容,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变。

  2) deleteCharAt()

  deleteCharAt() 方法用来删除指定位置的字符,并将剩余的字符形成新的字符串。

  3) insert() 方法

  insert() 用来在指定位置插入字符串,可以认为是append()的升级版。

  4) setCharAt() 方法

  setCharAt() 方法用来修改指定位置的字符。

  StringBuilder类

  StringBuilder类和StringBuffer类功能基本相似,方法也差不多,主要区别在于StringBuffer类的方法是多线程安全的,而StringBuilder不是线程安全的,相比而言,StringBuilder类会略微快一点。

  StringBuffer、StringBuilder、String中都实现了CharSequence接口。

分享到

您可能感兴趣的文章