码迷,mamicode.com
首页 > 其他好文 > 详细

StringBuffer类

时间:2020-01-08 21:09:23      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:buffer   不变性   建议   改变   dex   操作   结束   不能   style   

一、字符串的不变性:

 

  • 一个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类

标签:buffer   不变性   建议   改变   dex   操作   结束   不能   style   

原文地址:https://www.cnblogs.com/64Byte/p/12168555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!