StringBuffer是String的增强类

文章目录

    • StringBuffer是String的增强类
      • 添加
      • 删除
      • 替换
      • 插入
      • 长度
      • StringBuffer练习题
      • 欢迎评论一起学习,如果觉得本文章对你有帮助,一键三连支持一下

1.StringBuffer的直接父类是AbstractStringBuilder

2.StringBuffer实现了Serializable 即StringBuffer的对象可以串行化

3.在父类中 AbstractStringBuilder 有属性 char[] value,不是final

在该value数组存放字符串内容,引出存放在堆中的

4.StringBuffer 是一个final类 不能被继承

5.StringBuffer是存放在 char[] value ,所有的变化 不用每次创建新对象,更换地址所以效率高于String

StringBuffer 构造器默认为初始化16个字符

StringBuffer中的常用方 法

添加

首先我们需要创建一个StringBuffer对象

可以有初始值

添加语法:StringBuffer对象.append(插入的string值)

StringBuffer string = new StringBuffer("hello,")string.append("world")//输出为  hello,world//添加多个可以直接 append.append.appendstring.append("good").append("true")//输出  hello,worldgoodtrue

删除

删除是删除开始索引到结束索引位置的 注意不包含结束索引值

语法:StringBuffer对象.delete(开始索引,结束索引)

string.delete(1,4)//输出为 ho,worldgoodtrue    

在hello中的o是第四个索引位置 并没有删除这里可以看出删除并不包含结束索引值 这是一个典型的左闭右开原则

替换

替换也是一个典型的左闭右开原则

语法: StringBuffer对象.replace(开始索引,结束索引,替换掉的新值)

string.replace(0,3,"java")//输出结果  javaworldgoodtrue

插入

插入可以在指定位置索引插入内容,比如说有一个String 内容为abcd 但是我们想变成aocd 是不是很麻烦这时候发现还是StringBuffer类好用

语法:StringBuffer对象.inert(要插入的索引位置,插入的值)

string.inert(0,"hello")//结果为hellojavaworldgoodtrue

上面我们在索引为0的位置插入了hello但是小伙伴们会发现j是索引为0的位置并没有被替换掉这是因为字符在插入时会自动向后移并不会消失

长度

StringBuffer对象.length()

返回一个StringBuffer对象内字符长度

//string在上面结果为hellojavaworldgoodtruestring.length()//打印结果为22

StringBuffer练习题

查看下列代码输出什么” />