Java 常用类 StringBuffer类

172 阅读2分钟

这是我参与2022首次更文挑战的第11天,活动详情查看:2022首次更文挑战

Java 常用类 StringBuffer类

StringBuffer类的字符串可以被改变

常用方法

方法类型作用
public StringBuffer()构造StringBuffer的构造方法
public StringBuffer append(char c)方法追加
public StringBuffer append(String str)方法追加
public StringBuffer append(StringBuffer s)方法追加
public int indexOf(String str)方法查找指定字符串是否存在
public int indexOf(String str,int fromIndex)方法从指定位置开始查找指定字符串是否存在
public StringBuffer insert(int offser,String str)方法在指定位置加上指定字符串
public StringBuffer reverse()方法将内容反转
public StringBuffer replace(int start,int end,String str)方法指定内容替换
public int length()方法返回内容长度
public StringBuffer delete(int start,int end)方法删除指定范围的字符串
public String substring(int start)方法字符串截取,指定开始点
public String substring(int start,int end)方法字符串截取,指定开始点和结束点
public String toString()方法Object类继承的方法,用于将内容变成String类型

字符串连接

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("456");
        a.append("qwe");
        System.out.println(a);
    }
}

image-20220126221515144

指定位置添加内容

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("456");
        a.insert(1,"asd");
        System.out.println(a);
    }
}

image-20220126221700204

字符串反转

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("456");
        System.out.println(a.reverse());
    }
}

image-20220126223649731

替换指定范围的内容

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("456");
        a.replace(1,2,"ABCDE");
        System.out.println(a);
    }
}

image-20220126223844839

替换的范围 不包含结束的值

字符串截取

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("0123456");
        String b = a.substring(1,4);
        System.out.println(b);
    }
}

image-20220126224550699

截取的范围 不包含结束的值

删除指定范围的字符串

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("0123456");
        String b = a.delete(1,4).toString();
        System.out.println(b);
    }
}

image-20220126224712560

删除的范围 不包含结束的值

查找指定的内容是否存在

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("0123456");
        System.out.println(a.indexOf("6"));
        System.out.println(a.indexOf("d"));
    }
}

image-20220126224942407

查找到了,则返回内容的位置

没有查找到,则返回-1

String与StringBuffer的区别

String的内容一旦声明则不可改变

StringBuffer声明的内容可以改变