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 类是两个不相同的类,这里的,但是我们可以采用下面的方法进行转换:
1. String s="abc"; 2. 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 类的方法远不止这些,至于其他的,在这里就不一一介绍了,大家有兴趣了话,可以去了解学习!!!😁😁😁