Stringbuffer

122 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情 >>

📖个人介绍

大家好我是:Zinksl

认真分享技术,记录学习点滴 如果分享对你有用请支持我哦🍺

点赞:👍 留言:✍收藏:⭐️ 个人格言: 想法落实的最佳时机就是现在!🏄


:::info

💡StringBuffer,是可变长度的,可对字符串进行增删;它同时是一个容器; :::

1 StringBuffer详解

(1)直接父类是:AbstractStringBuilder (2)实现了Serializable,说明StringBuffer也可以串行化; (3)在父类AbstractStringBuilder中的属性 char[] 不是final (4)StringBuffer也是一个final类,也就是说不能被继承

2 StringBuffer的构造器

①StringBuffer();
构造一个不带字符的,字符串缓冲区,初始容量为16个字符;
②StringBuffer(int capacity)
构造给不带字符的,但可以指定容量大小的字符串缓冲区
③StringBuffer(String str)
通过给一个String创建StringBuffer,char [] 大小等于,字符串.length +16;

3 String 与StringBuffer之间的转换;

(1) String =》 StringBuffer
①使用构造器【代码示例】:

public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer("这里是字符串对象");
    }
}

②使用StringBuffer中的append方法【代码示例】:

public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
        buffer = buffer.append("字符串对象");
    }
}

(2)StringBuffer =》String
①使用toString方法【代码示例】:

public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
//        字符串转StringBuffer
        buffer = buffer.append("字符串对象");
//        StringBuffer通过toString方法,转字符串
        String temp = buffer.toString();
    }
}

②使用String的构造器把StringBuffer转Sting【代码示例】:

public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
//        字符串转StringBuffer
        buffer = buffer.append("字符串对象");
//        StringBuffer通过toString方法,转字符串
        String temp = buffer.toString();
//        StringBuffer通过String构造器为转字符串
        String s = new String(buffer);

    }
}

3 StringBuffer的常用方法

StringBuffer append(String str)添加方法
StringBuffer delete(int star,int end)删除 从star到end的字符【索引从0开始,包左不包右】
StringBuffer replace(int star,int end,String str);替换 从star到end的字符【索引从0开始,包左不包右】
int indexOf(String str)查找子串在字符串中第一次出现的索引,没找到返回-1
StringBuffer insert(int index,String str);插 在指定的索引位置插入字符串
int length()返回StringBuffer长度