StringBuffer类

Posted 64byte

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringBuffer类相关的知识,希望对你有一定的参考价值。

一、字符串的不变性:

 

  • 一个String对象的长度是固定的,不能改变它的内容,或者是附加新的字符到String对象中
  • 您也许会使用+来串联字符串以达到附加新字符或字符串的目的,但+会产生一个新的String对象。
  • 如果程序对这种附加字符串的需求很频繁,系统会频繁在内存中创建String对象,造成性能下降。所以并不建议使用+来进行频繁的字符串串联。应该使用java.lang.StringBuffer类。

 

二、StringBuffer和StringBuilder

  • StringBuffer/StringBuilder:  字符串, 方法都是一样
  • StringBuffer    线程安全, 效率低
  • StringBuilder: 线程不安全, 效率高
  • 可变的字符串,  对字符串经常进行修改, 推荐使用StringBuffer

 

三、StringBuffer 的方法

 

 1、 把String类型转换为StringBuffer

      String str="abc";

      StringBuffer sb=new StringBuffer();

   2、 追加: 往字符串末尾添加  append(任意数据类型),类似于String的+操作

      append(boolean b)

   3、 删除:

     delete(int static,int end):(开始位置,结束位置) 从开始位置(包括)删除到结束位置(不包括)

     deleteCharAt(int index) :删除指定位置上的字符

  4、修改

    insert(int offset,int i) :插入的位置,插入的内容

    setCharAt(int index,char ch):把开始位置到结束位置(不包括)的内容修改为str

    replace(int start,int end,String str)

 

  5、其他操作:  反转

    reverse()

  6、把StringBuffer转换为String

       toString()

以上是关于StringBuffer类的主要内容,如果未能解决你的问题,请参考以下文章

StringBuffer高级数组及包装类

StringBuffer类

StringBuffer类

StringBuffer 和 StringBuilder 类

Java API_StringBuffer类

StringBuffer类