Java常用类详解——StringBuffer类

1. 基本介绍

(1)StringBuffer代表可变的字符序列,可以对字符串内容进行增删。

(2)很多方法与String相同,但StringBuffer是可变长度的(存放字符的数组不是final修饰的,内容可以变化)。

(3)StringBuffer是一个容器。

2. StringBuffer类 继承体系图

(1)StringBuffer 的直接父类 是 AbstractStringBuilder类

(2)StringBuffer 实现了 Serializable,即StringBuffer的对象可以串行化

(3)在父类AbstractStringBuilder中,有属性char[] value,不是final修饰,在该value数组中存放 字符串内容,因此是 存放在堆中的(不在常量池)。

(4)StringBuffer是一个final类,不能被继承。

3. String类 和 StringBuffer类 对比

(1)String保存的是字符串常量,里面的值不能更改,每次String类的更新实际上就是更改地址,效率较低。(源代码:private final char value[]; )

(2)StringBuffer保存的是字符串变量,里面的值可以更改,每次StringBuffer的更新实际上可以更新内容,不用每次更新地址(只有当前空间不够的时候才更新地址),效率较高。(源代码char[] value; 这个是放在堆中)

4. StringBuffer的构造器

(1)StringBuffer()

创建一个大小为16的char[],用于存放字符内容。

(2)StringBuffer(int capacity)  //capacity容量

通过构造器指定char[]的大小。

(3)StringBuffer(String str)

通过传入一个String字符串 创建 StringBuffer,此时char[]大小就是str.length() + 16。

5. String 和 StringBuffer 相互转换

(1)String —> StringBuffer

①使用构造器

②使用append方法

(2)StringBuffer —> String

①使用toString方法

②使用构造器

6. StringBuffer类 常用方法

①增 append

②删delete(start,end)  将start--end 间的内容删除,不含end

③改replace(start,end,string)  将start--end 间的内容替换掉,不含end

④查indexOf  查找子串在字符串第1次出现的索引,如果找不到返回-1

⑤插insert 

⑥获取长度 length

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值