Java——StringBuffer类中常用方法的总结

简介: Java——StringBuffer类中常用方法的总结

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 类的方法远不止这些,至于其他的,在这里就不一一介绍了,大家有兴趣了话,可以去了解学习!!!😁😁😁




相关文章
|
23小时前
|
安全 Java 调度
Java一分钟:多线程编程初步:Thread类与Runnable接口
【5月更文挑战第11天】本文介绍了Java中创建线程的两种方式:继承Thread类和实现Runnable接口,并讨论了多线程编程中的常见问题,如资源浪费、线程安全、死锁和优先级问题,提出了解决策略。示例展示了线程通信的生产者-消费者模型,强调理解和掌握线程操作对编写高效并发程序的重要性。
10 3
|
2天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
2天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
|
2天前
|
XML JavaScript Java
详解Java解析XML的四种方法
详解Java解析XML的四种方法
|
2天前
|
存储 Java API
掌握8条方法设计规则,设计优雅健壮的Java方法
掌握8条方法设计规则,设计优雅健壮的Java方法
|
2天前
int 和 String 互相转换的多种方法
int 和 String 互相转换的多种方法
|
2天前
|
Java 编译器 开发者
Java一分钟之-继承:复用与扩展类的特性
【5月更文挑战第9天】本文探讨了Java中的继承机制,通过实例展示了如何使用`extends`创建子类继承父类的属性和方法。文章列举了常见问题和易错点,如构造器调用、方法覆盖、访问权限和类型转换,并提供了解决方案。建议深入理解继承原理,谨慎设计类结构,利用抽象类和接口以提高代码复用和扩展性。正确应用继承能构建更清晰、灵活的代码结构,提升面向对象设计能力。
9 0
|
3天前
|
Java C语言
详解java方法与递归
详解java方法与递归
9 3
|
3天前
|
安全 Java 编译器
Java中String、StringBuilder和StringBuffer的区别
Java中String、StringBuilder和StringBuffer的区别
|
3天前
|
Java
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
12 0