StringBuffer类

String类

  • 任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已。
  • 通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer和StringBuilder类。
  • StringBuffer 和 StringBuilder 大部分功能是相同的

StringBuffer类

  • 在String中使用"+"来进行字符串连接,但是这个操作在StringBuffer类中需要更改为append()方法:public synchronized StringBuffer append(各种数据类型 b)
  • String变成StringBuffer:利用StringBuffer的构造方法append()
  • StringBuffer变成String利用toString()方法

StringBuffer类常用方法:

  • public synchronized StringBuffer append(各种数据类型 b):字符串的拼接
  • public synchronized StringBuffer reverse():字符串的反转
  • public synchronized StringBuffer insert(int offset, 各种数据类型 b):插入数据
  • public synchronized StringBuffer delete(int start, int end):删除指定范围内的数据[start,end)
public class Demo01StringBuffer {
    public static void main(String[] args) {
        StringBuffer str1=new StringBuffer();
        str1.append("hello").append("world");
        System.out.println(str1);//helloworld
        StringBuffer str2=str1.reverse();
        System.out.println(str1);//dlrowolleh
        System.out.println(str2);//dlrowolleh
        StringBuffer str3=str1.insert(0,"你好");
        System.out.println(str3);//你好dlrowolleh
        System.out.println(str1);//你好dlrowolleh
        System.out.println(str3.delete(0,2));//dlrowolleh
        System.out.println(str3);//dlrowolleh
    }
}

面试题:请解释String、StringBuffer、StringBuilder的区别:

  • String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.
  • StringBuffer与StringBuilder大部分功能是相似的
  • StringBuffer采用同步处理,属于线程安全操作;而StringBuilder采用异步处理,属于线程不安全操作

注意:与String不同的是StringBuffer所有的操作都会改变原字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值