Java StringBuffer 类



StringBuffer 类介绍

Java StringBuffer 类是可变的字符序列。StringBuffer 可轻松修改字符串的内容。它提供了许多用于操作字符串的实用程序函数。StringBuffer 的操作具有同步特性,建议在多线程环境中使用。如果不需要同步,可以使用替代 API StringBuilder。

StringBuffer 类声明

以下是java.lang.StringBuffer 类的声明:

public final class StringBuffer
   extends Object
      implements Serializable, CharSequence

StringBuffer 类构造函数

以下是 StringBuffer 类的构造函数列表。

序号 构造函数及描述
1

StringBuffer()

构造一个字符串生成器,其中不包含任何字符,初始容量为 16 个字符。

2

StringBuffer(CharSequence seq)

构造一个字符串生成器,其包含与指定的 CharSequence 相同的字符。

3

StringBuffer(int capacity)

构造一个字符串生成器,其中不包含任何字符,初始容量由 capacity 参数指定。

4

StringBuffer(String str)

构造一个初始化为指定字符串内容的字符串生成器。

StringBuffer 类方法

以下是 StringBuffer 类的列表。每个方法都有多个示例来演示该方法的功能。

序号 方法及描述
1 StringBuffer append()

此方法将给定的字符串参数附加到序列中。

2 StringBuffer appendCodePoint(int codePoint)

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

3 int capacity()

此方法返回当前容量。

4 char charAt(int index)

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

5 int codePointAt(int index)

此方法返回指定索引处的字符(Unicode 代码点)。

6 int codePointBefore(int index)

此方法返回指定索引之前的字符(Unicode 代码点)。

7 int codePointCount(int beginIndex, int endIndex)

此方法返回此序列指定文本范围内的 Unicode 代码点数。

8 StringBuffer delete(int start, int end)

此方法删除此序列子字符串中的字符。

9 StringBuffer deleteCharAt(int index)

此方法删除此序列中指定位置处的字符。

10 void ensureCapacity(int minimumCapacity)

此方法确保容量至少等于指定的最小值。

11 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

字符从此序列复制到目标字符数组 dst。

12 int indexOf(String str)

此方法返回此字符串中指定子字符串第一次出现的索引。

13 StringBuffer insert()

此方法将给定参数的字符串表示形式插入到此序列中。

14 int lastIndexOf(String str)

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

15 int length()

此方法返回长度(字符数)。

16 int offsetByCodePoints(int index, int codePointOffset)

此方法返回此序列中从给定索引偏移 codePointOffset 代码点的索引。

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

此方法用指定字符串中的字符替换此序列子字符串中的字符。

18 StringBuffer reverse()

此方法导致此字符序列被序列的反向序列替换。

19 void setCharAt(int index, char ch)

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

20 void setLength(int newLength)

此方法设置字符序列的长度。

21 CharSequence subSequence(int start, int end)

此方法返回一个新的字符序列,它是此序列的子序列。

22 String substring(int start)

此方法返回一个新的字符串,其中包含当前包含在此字符序列中的字符的子序列。

23 String toString()

此方法返回表示此序列中数据的字符串。

24 void trimToSize()

此方法尝试减少字符序列使用的存储空间。

继承的方法

此类继承自以下类的方法:

  • java.lang.Object
  • java.lang.CharSequence

示例:将布尔值附加到 StringBuffer

以下示例显示了 Java StringBuffer append(Boolean b) 方法的用法。在这里,我们使用字符串名称“tuts”实例化一个 StringBuffer 对象“buff”。然后,我们使用带有布尔参数“true”的“buff”对象调用 append() 方法。返回值将是附加的字符串名称“tuts true”。类似地,我们使用字符串名称“abcd”和布尔参数“false”演示了另一个案例。

package com.tutorialspoint;

public class StringBufferDemo {

   public static void main(String[] args) {

      StringBuffer stringBuffer = new StringBuffer("tuts ");
      System.out.println("buffer = " + stringBuffer);

      // appends the boolean argument as string to the string stringBuffer
      stringBuffer.append(true);
      
      // print the string stringBuffer after appending
      System.out.println("After append = " + stringBuffer);

      stringBuffer = new StringBuffer("abcd ");
      System.out.println("stringBuffer = " + stringBuffer);
      
      // appends the boolean argument as string to the string stringBuffer    
      stringBuffer.append(false);
      
      // print the string stringBuffer after appending
      System.out.println("After append = " + stringBuffer);
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

buffer = tuts
After append = tuts true
stringBuffer = abcd
After append = abcd false
广告