Java中的常用类——StringBuffer

今天我们来认识一下StringBuffer

StringBuffer

StringBuffer类概述

线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容

从 JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder。与该类相比,通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快

也就是说StringBuffer和StringBulider的方法是一样的~咱们就只演示一个了哈~

StringBuffer类的构造方法

public StringBuffer()

构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。

public StringBuffer(int capacity)

指定容量的字符串缓冲区对象

public StringBuffer(String str)

指定字符串内容的字符串缓冲区对象

StringBuffer的方法

public int capacity()

返回当前容量。 理论值

public int length()

返回长度(字符数)。 实际值

Java中的常用类——StringBuffer

StringBuffer的添加功能

public StringBuffer append(String str)

可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身

Java中的常用类——StringBuffer

public StringBuffer insert (int offset,String str)

在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身

Java中的常用类——StringBuffer

StringBuffer的删除功能

public StringBuffer deleteCharAt (int index)

删除指定位置的字符,并返回本身

Java中的常用类——StringBuffer

public StringBuffer delete(int start,int end)

删除从指定位置开始指定位置结束的内容,并返回本身

Java中的常用类——StringBuffer

StringBuffer的替换和反转功能

public StringBuffer replace(int start,int end,String str)

从start开始到end用str替换

Java中的常用类——StringBuffer

public StringBuffer reverse()

字符串反转

Java中的常用类——StringBuffer

StringBuffer的截取功能

public String substring(int start)

从指定位置截取到末尾

Java中的常用类——StringBuffer

public String substring(int start,int end)

截取从指定位置开始到结束位置,包括开始位置,不包括结束位置

Java中的常用类——StringBuffer

注意:返回值类型不再是StringBuffer本身

String StringBuffer 和 StringBuilder 的区别

这是一道面试题哦~

1)StringBuffer 和 StringBuilder 的区别

StringBuffer是jdk1.0版本的,是线程安全的,效率低

StringBuilder是jdk1.5版本的,是线程不安全的,效率高

2)String和StringBuffer,StringBuilder的区别

String是一个不可变的字符序列

StringBuffer,StringBuilder是可变的字符序列

微信公众号:javafirst

扫码关注免费获取更多资源 

Java中的常用类——StringBuffer