【java基础】【StringBuffer类使用】

本文详细介绍了Java中的StringBuffer类,包括其构造方法、主要功能及如何使用。探讨了StringBuffer的线程安全性及其在字符串操作中的应用。

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

java.lang.StringBuffer

java.lang包下的,所以使用时不用导包。

StringBuffer类是字符串缓冲区,用类此集合的方法操作字符串。

StringBuffer是线程安全的。

构造方法

1、public StringBuffer()

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

2、public StringBuffer(CharSequence seq)

构造一个字符串缓冲区,它包含与指定的 CharSequence 相同的字符。该字符串缓冲区的初始容量为 16 加上 CharSequence 参数的长度。

3、public StringBuffer(int capacity)

构造一个不带字符,但具有指定初始容量的字符串缓冲区。

4、public StringBuffer(String str)

构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。该字符串的初始容量为 16 加上字符串参数的长度。

方法

1、public StringBuffer append(boolean b)

将 boolean 参数的字符串表示形式追加到序列。

2、public StringBuffer append(char c)

将 char 参数的字符串表示形式追加到此序列。

3、public StringBuffer append(char[] str)

将 char 数组参数的字符串表示形式追加到此序列。

4、public StringBuffer append(char[] str, int offset, int len)

将 char 数组参数的子数组的字符串表示形式追加到此序列。

5、public StringBuffer append(CharSequence s)

将指定的 CharSequence 追加到该序列。

6、public StringBuffer append(CharSequence s, int start, int end)

将指定 CharSequence 的子序列追加到此序列。

7、public StringBuffer append(double d)

将 double 参数的字符串表示形式追加到此序列。

8、public StringBuffer append(float f)

将 float 参数的字符串表示形式追加到此序列。

9、public StringBuffer append(int i)

将 int 参数的字符串表示形式追加到此序列。

10、public StringBuffer append(long lng)

将 long 参数的字符串表示形式追加到此序列。

11、public StringBuffer append(Object obj)

追加 Object 参数的字符串表示形式。

12、public StringBuffer append(String str)

将指定的字符串追加到此字符序列。

13、public StringBuffer append(StringBuffer sb)

将指定的 StringBuffer 追加到此序列中。

14、public StringBuffer appendCodePoint(int codePoint)

将 codePoint 参数的字符串表示形式追加到此序列。

15、public int capacity()

返回当前容量。容量指可用于最新插入的字符的存储量,超过这一容量就需要再次进行分配。

16、public char charAt(int index)

返回此序列中指定索引处的 char 值。

17、public int codePointAt(int index)

返回指定索引处的字符(统一代码点)。

18、public int codePointBefore(int index)

返回指定索引前的字符(统一代码点)。

19、public int codePointCount(int beginIndex, int endIndex)

返回此序列指定文本范围内的统一代码点。

20、public StringBuffer delete(int start, int end)

移除此序列的子字符串中的字符。该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符,如果不存在这种字符,则一直到序列尾部。如果 start 等于 end,则不发生任何更改。

21、public StringBuffer deleteCharAt(int index)

移除此序列指定位置的 char。此序列将缩短一个 char。

22、public void ensureCapacity(int minimumCapacity)

确保容量至少等于指定的最小值。如果当前容量小于 minimumCapacity 参数,则可分配一个具有更大容量的新的内部数组。新容量的大小应大于旧容量的两倍加 2。 

23、public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

将字符从此序列复制到目标字符数组 dst。要复制的第一个字符在索引 srcBegin 处;要复制的最后一个字符在索引 srcEnd-1 处。要复制的字符总数为 srcEnd-srcBegin。

24、public int indexOf(String str)

返回第一次出现的指定子字符串在该字符串中的索引。

25、public int indexOf(String str, int fromIndex)

从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。

26、public StringBuffer insert(int offset, boolean b)

将 boolean 参数的字符串表示形式插入此序列中。

27、public StringBuffer insert(int offset, char c)

将 char 参数的字符串表示形式插入此序列中。

28、public StringBuffer insert(int offset, char[] str)

将 char 数组参数的字符串表示形式插入此序列中。

29、public StringBuffer insert(int index, char[] str, int offset, int len)

将 str 数组参数的子数组的字符串表示形式插入此序列中。其中子数组从指定的 offset 开始,包含 len 个 char。子数组的字符将被插入 index 所指示的位置。此序列的长度将增加 len 个 char。

30、public StringBuffer insert(int dstOffset, CharSequence s)

将指定 CharSequence 插入此序列中。

31、public StringBuffer insert(int dstOffset, CharSequence s, int start, int end)

将指定 CharSequence 的子序列插入此序列中。

32、public StringBuffer insert(int offset, double d)

将 double 参数的字符串表示形式插入此序列中。

33、public StringBuffer insert(int offset, float f)

将 float 参数的字符串表示形式插入此序列中。

34、public StringBuffer insert(int offset, int i)

将 int 参数的字符串表示形式插入此序列中。

35、public StringBuffer insert(int offset, long l)

将 long 参数的字符串表示形式插入此序列中。

36、public StringBuffer insert(int offset, Object obj)

将 Object 参数的字符串表示形式插入此字符序列中。

37、public StringBuffer insert(int offset, String str)

将字符串插入此字符序列中。

38、public int lastIndexOf(String str)

返回最右边出现的指定子字符串在此字符串中的索引。

39、public int lastIndexOf(String str, int fromIndex)

返回最后一次出现的指定子字符串在此字符串中的索引。

40、public int length()

返回长度(字符数)。

41、public int offsetByCodePoints(int index, int codePointOffset)

返回此序列中的索引,该索引是从给定 index 偏移 codePointOffset 个代码点后得到的。

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

使用给定 String 中的字符替换此序列的子字符串中的字符。该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符,如果不存在这种字符,则一直到序列尾部。

43、public StringBuffer reverse()

将此字符序列用其反转形式取代。

44、public void setCharAt(int index, char ch)

将给定索引处的字符设置为 ch。

45、public void setLength(int newLength)

设置字符序列的长度。序列将被更改为一个新的字符序列,新序列的长度由参数指定。

46、public CharSequence subSequence(int start, int end)

返回一个新的字符序列,该字符序列是此序列的子序列。

47、public String substring(int start)

返回一个新的 String,它包含此字符序列当前所包含的字符子序列。该子字符串始于指定索引处的字符,一直到此字符串末尾。

48、public String substring(int start, int end)

返回一个新的 String,它包含此序列当前所包含的字符子序列。该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符。

49、public void trimToSize()

尝试减少用于字符序列的存储空间。如果缓冲区大于保存当前字符序列所需的存储空间,则将重新调整其大小,以便更好地利用存储空间。调用此方法可能会影响后续调用 capacity() 方法时返回的值(但不要求如此)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值