今天我们来认识一下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_线程安全_02

public StringBuffer insert (int offset,String str)

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

Java中的常用类——StringBuffer_线程安全_03

StringBuffer的删除功能

public StringBuffer deleteCharAt (int index)

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

Java中的常用类——StringBuffer_构造方法_04

public StringBuffer delete(int start,int end)

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

Java中的常用类——StringBuffer_构造方法_05

StringBuffer的替换和反转功能

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

从start开始到end用str替换

Java中的常用类——StringBuffer_指定位置_06

public StringBuffer reverse()

字符串反转

Java中的常用类——StringBuffer_字符串_07

StringBuffer的截取功能

public String substring(int start)

从指定位置截取到末尾

Java中的常用类——StringBuffer_线程安全_08

public String substring(int start,int end)

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

Java中的常用类——StringBuffer_数据_09

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

String StringBuffer 和 StringBuilder 的区别

这是一道面试题哦~

1)StringBuffer 和 StringBuilder 的区别

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

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

2)String和StringBuffer,StringBuilder的区别

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

StringBuffer,StringBuilder是可变的字符序列

微信公众号:javafirst

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

Java中的常用类——StringBuffer_数据_10