1.StringBuffer类简介

在 Java 语言中,由于 String 类是final 类型的,所以使用 String 定义的字符串是一个常量,因此它一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。

解决方法:可以使用 StringBuffer 类(也称字符串缓冲区)来操作字符串。

说明:StringBuffer 类和 String 类最大的区别在于它的内容和长度都是可以改变的。StringBuffer 类似一个字符容器,当在其中添加或删除字符时,所操作的都是这个字符容器,因此并不会产生新的 StringBuffer 对象。

2.StringBuffer类的初始化方式

2.1 使用StringBuffer类的构造方法初始化字符串对象

StringBuffer 变量名=new String(字符串);

2.2 借助String类来创建StringBuffer类对象

下面这种方法是错误的:👇👇👇

StringBuffer s="abc";

String 类和 StringBuffer 类是两个不相同的类,这里的,但是我们可以采用下面的方法进行转换:

String s="abc";

StringBuffer s5=new StringBuffer(s);

3.StringBuffer类中常用的方法

3.1 概念理解

3.2 应用举例(一定要仔细看完,理解每一个常用并且重要的方法)

public class Study {

public String toString() {//重写Object类中toString()方法

return getClass().getName();

}

public static void main(String[] args) {

StringBuffer s1=new StringBuffer("abcd1234!?,;");

StringBuffer s2=new StringBuffer("987654321987654");

StringBuffer s3=new StringBuffer("987654321");

System.out.println("↓↓↓StringBuffer类的一些常用方法如下↓↓↓");

System.out.println("-----------------------------------------------------");

System.out.println("字符串s1的长度为:" + s1.length());//返回字符串的实际长度

System.out.println("-----------------------------------------------------");

System.out.println("字符串s1所占容器的大小为:" + s1.capacity());//返回字符串所占容器的总大小

System.out.println("-----------------------------------------------------");

System.out.println("获取字符串s1中第2个位置的字符:" + s1.charAt(2));

System.out.println("-----------------------------------------------------");

System.out.println("子字符串'654'第一次出现在字符串s2中的索引为:" + s2.indexOf("654"));

System.out.println("从指定的索引6开始搜索,返回子字符串'654'第一次出现在字符串s2中的索引:" + s2.indexOf("654",6));

System.out.println("-----------------------------------------------------");

System.out.println("子字符串'987'最后一次出现在字符串s2中的索引为:" + s2.lastIndexOf("987"));

System.out.println("从指定的索引5开始反向搜索,返回字符串'87'在字符串s2中最后一次出现的索引:" + s2.lastIndexOf("87",5));

System.out.println("-----------------------------------------------------");

s1.append('x');//在字符串s1的末尾添加字符'c'

s1.append("Java");//在字符串s1的末尾添加字符串"Java"

System.out.println("修改后的字符串s1为:" + s1);

System.out.println("-----------------------------------------------------");

s1.insert(4,"abcd");//在第4个位置插入字符串"abcd"

System.out.println("修改后的字符串s1为:" + s1);

System.out.println("-----------------------------------------------------");

s1.deleteCharAt(1);//删除字符串s1中第一个位置的字符

s1.delete(2,5);//删除字符串s1中第2到第4个位置的字符

System.out.println("修改后的字符串s1为:" + s1);

System.out.println("-----------------------------------------------------");

s1.replace(4,8,"5678");//将字符串s1中第4到第7个位置的字符串修改为"5678"

System.out.println("修改后的字符串s1为:" + s1);

System.out.println("-----------------------------------------------------");

s1.setCharAt(1,'b');//将字符串s1中第一个位置的字符修改为'b'

System.out.println("修改后的字符串s1为:" + s1);

System.out.println("-----------------------------------------------------");

s2.reverse();//将字符串s2反转

System.out.println("修改后的字符串s2为:" + s2);

System.out.println("-----------------------------------------------------");

System.out.println("截取字符串s1从第4个位置开始到结尾:" + s1.substring(4));

System.out.println("-----------------------------------------------------");

System.out.println("截取字符串s1从第4个位置开始到第7个位置结尾:" + s1.substring(4,8));

System.out.println("-----------------------------------------------------");

System.out.println("获取s1的变量类型:" + s1.getClass().getName());

System.out.println("将对象信息转化为字符串:" + s2.toString());

}

}

代码块中的方法就是博主总结的 Java 语言中 StringBuffer 类的一些常用方法,当然了,StringBuffer 类的方法远不止这些,至于其他的,在这里就不一一介绍了,大家有兴趣了话,可以去了解学习!!!😁😁😁