Java中StringBuffer类(StringBuffer类与String类的相互转换 、字符串反转、在字符串中插入,删除数据 、String、StringBuffer、StringBuilde)

本文详细解析了StringBuffer类的使用方法,包括append、字符串反转、删除与插入数据等功能,并对比了String、StringBuffer与StringBuilder的区别,帮助读者掌握字符串操作的高级技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 StringBuffer类

  java中的String类详解
  回顾String类的特点,任何String类的常量都是String对象,而且String类的常量一旦声明不可改变,如果想要改变对象的内容,改变的只是其引用的指向而已,所以为了方便字符串的修改提供了StringBuffer类。
  在String中使用‘+’来进行字符串链接,但是这个操作在StringBuffer类中需要更改为append()方法
public synchronized StringBuffer append(各种数据类型 b)

1.1 StringBuffer的使用

1.1.1 append()的使用

在这里插入图片描述
  String和StringBuffer最大的区别在于:String的内容无法修改,而StringBuffer的内容可以修改,频繁的修改字符串的情况考虑使用StringBuffer。

1.1.2 String变为StringBuffer

  String变为StringBuffer:利用StringBuffer的构造方法或append()方法

public class Test{
    public static void main(String[] args)
    {
        String str="hello";
        StringBuffer sb=new StringBuffer(str);
        System.out.println(sb.append("World"));
    }
}

在这里插入图片描述

1.1.3 StringBuffer变为String

调用toString方法

public class Test{
    public static void main(String[] args)
    {
        StringBuffer sb=new StringBuffer("HelloWord");
        System.out.println(sb.toString()+"!!");
    }
}

在这里插入图片描述

1.2 字符串反转

/**
字符串反转
public synchronized StringBuffer reverse();
 */

public class Test{
    public static void main(String[] args)
    {
       StringBuffer sb=new StringBuffer("dcba");
       System.out.println(sb.reverse());
    }
}

在这里插入图片描述

1.3 删除指定范围的数据

/**
删除指定范围的数据
public synchronized StringBuffer delete(int start,int end);
 */

public class Test{
    public static void main(String[] args)
    {
       StringBuffer sb=new StringBuffer("dcba");
       System.out.println(sb.delete(0,2));//左闭右开
    }
}

在这里插入图片描述

1.4 插入数据

/**
插入数据(在offset之前插入)
public synchronized StringBuffer insert(int offset,各种数据类型 b);
 */

public class Test{
    public static void main(String[] args)
    {
       StringBuffer sb=new StringBuffer("dcba");
       System.out.println(sb.insert(0,"哈哈"));
       System.out.println(sb.insert(0,122));
       System.out.println(sb.insert(4,'a'));

    }
}

在这里插入图片描述

2 String、StringBuffer、StringBuilder的区别

  1. String的内容不可修改,StringBuffer和StringBuilder的内容可以修改;
  2. StringBuffer采用同步处理,线程安全,效率低;
  3. StringBuilder使用异步处理,线程不安全,效率较高;
  4. 在普遍场景下,推荐使用StringBuilder,当String对象使用"+"进行字符串拼接时,javac编译器会将String对象变为StringBuilder而后调用append()来修改字符串的内容减少无用空间的开辟。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值