Java字符串类型中的StringBuffer类以及常见StringBuffer:的方法append()方法 length()方法和capacity()方法。Insert()方法。reverse()

      当我们需要对字符串进行动态修改时,这时String的功能就会受到限制,而StringBuffer类可以完成字符串的动态添加、

插入和替换等操作。

   StringBuffer:线程程安全的可变和可写的字符序列。(注:线程安全在银行的网站,医疗平台等地方用途广泛,线程安全是一种同步的处理信息方式,但执行效率低线程不安全是一种不同的处理信息方式,但执行效率高,通常被用于新闻网站,XXX论坛...

   StringBufferString的区别? 

前者是一个可变的字符序列,后者是不可变的字符序列
     如果从内存角度考虑,String定义的时候,会在常量池中开辟空间,比较耗费内存
     StringBuffer,字符串缓冲区(里面存储的全部都是字符串),它会释放掉

  StringBuffer,String,StringBuilder的区别?

  StringBufferStringBuilder都是一个可变的字符序列,提供一个缓冲区.(两者都看做容器)

StringBuffer:线程安全的,同步的,执行效率低

StringBuilder:线程不安全的,不同步的,执行效率高,并且单线程中优先采用StringBuilder

StringBuffer 执行效率虽然低,但是由于String类型,并且他可变的字符序列,提供了缓冲区

 

StringBuffer和数组的区别?

 

数组:它是可以存储多个数据的容器,并且多个数据的类型必须一致数组长度功能:length属性

StringBuffer:它是容器,它在缓冲区始终存储的只能字符串类型的数据获取缓冲区的长度:length()

 

一:StringBuffer的四种构造方法

        StringBuffer(  )                             //无参构造的形式,初始容量16
        StringBuffer(int capacity)             //指定容量构造一个字符串缓冲区

        StringBuffer(String str)                //构造一个字符串缓冲区,并将其内容初始化为指定的 字符串内容

          StringBuffer(CharSequence seq)      //实际编程中很少用到

     

当没有指定的缓冲区大小时,StringBuffer会自动分配16个附加字符的空间,这是因为再分配的时间代价很大,且频繁地再分配会产生内存碎片。它还可以向已存在的StringBuffer对象追加任何类型的数据,此时StringBuffer类向我们提供了相应的append()方法。

:append()方法

        StringBuffer  appendboolean  b

        StringBuffer append(String/boolean....)   //实际开发中用的多

        StringBuffer  appendchar  c

        StringBuffer  appendchar[]  str

        StringBuffer  appendCharSequence  s 

        StringBuffer  appendCharSequence s, int start, int end ..........

        还有很多方法,这些都是向字符串缓冲区“追加”元素,这个元素参数可以是布尔量、字符、字符数组、双精度数、浮点数、整型数、长整形数等对象类型的字符串。如果添加的内容超过缓冲区的长度,则Java自动进行扩充。StringBuffer的添加功能在字符串缓冲区中追加数据(在末尾追加),并且返回字符串缓冲区本身

 

 

对每一个StringBuffer的获取功能来说有两个重要的属性,分别是长度和容量。此时StringBuffer类向我们提供了相应的 length()方法和capacity()方法。

三:length()方法和capacity()方法。

        public int length()返回长度
        public int capacity()返回当前容量 (如果超过容量,系统自动分配(存储字符串的时候,英文的))

四:Insert()方法

        Insert()方法主要用来将一个字符串插入另一个字符串,和append()方法一样,它也被重载而可以接收所有简单类型的值以及Object/StringCharSequence对象的引用。

    它是先调用String类的valueOf()方法(注:valueOf()可将字符数组转化为字符串,可将所有Java中的简单类型转换成字符串)得到相应的字符串表达式,随后这个字符串被插入所有调用的StringBuffer对象中。

     StringBuffer insert(int offset,String str)  //将当前str字符串添加到指定位置处,它返回字符串缓冲区本身

     StringBuffer insert(int offset,char c)

     StringBuffer insert(int offset,char[] str).......

 

五:reverse() 方法

    reverse() 为StringBuffer的反转功能,将StringBuffer对象内的字符串进行反转

    public StringBuffer reverse() :将缓冲区中的字符序列反转取代,返回它(字符串冲)本身

 

六:delete()方法

        delete()方法StringBuffer的删除功能

     public StringBuffer deleteCharAt(int index):移除指定位置处的字符..

     public StringBuffer delete(int start,int end):移除从指定位置处到end-1处的子字符串...

 七:substring()方法

     substring()方法是StringBuffer的截取功能

     String substring(int start) //从指定位置开始截取,默认截取到末尾,返回值不在是缓冲区本身,而是一个新的字符串

     public String substring(int start,int end) :从指定位置开始到指定位置结束截取,包前不包后,返回值不在是缓冲区本身,而是一个新的字符串

 

八:replace()方法

  replace()方法StringBuffer的替换功能

  public StringBuffer replace(int start,int end,String str)//从指定位置到指定位置结束,用新的str字符串去替换,返回值是字符串缓冲区本身

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值