Java 简明教程

Java StringBuffer Class

StringBuffer Class Introduction

Java StringBuffer 类是可以变异的序列字符。通过 StringBuffer 可以轻松修改 String 内容。它提供了多种实用函数来处理字符串。一个 StringBuffer 的操作本质上是同步的,因此建议在多线程环境中使用。如果不需要同步,我们可以选择一个可选 API StringBuffer。

StringBuffer Class Declaration

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

public final class StringBuffer
   extends Object
      implements Serializable, CharSequence

StringBuffer Class Constructors

下面是 StringBuffer 类的构造函数列表:

Sr.No.

Constructor & Description

1

StringBuffer() 此构造函数构造一个字符串构建器,不包含任何字符,且初始容量为 16 个字符。

2

StringBuffer(CharSequence seq) 此构造函数构造一个字符串构建器,其中包含与指定的 CharSequence 相同的字符。

3

StringBuffer(int capacity) 此构造函数构造一个字符串构建器,不包含任何字符,且初始容量由容量参数指定。

4

StringBuffer(String str) 此构造函数构造一个以指定字符串内容初始化的字符串构建器。

StringBuffer Class methods

下面是字符串缓冲器类的各个方法。每个方法将拥有多个范例来展示方法的功能。

Sr.No.

Method & Description

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) 此方法移除此序列中指定位置处的 char。

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) 此方法将此序列中子字符串中的字符替换为指定 String 中的字符。

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() 这种方法尝试缩减用于字符序列的存储空间。

Methods inherited

此类从以下类中继承方法:

  1. java.lang.Object

  2. java.lang.CharSequence

Example: Append a Boolean to the StringBuffer

以下示例演示了 Java StringBuffer append(Boolean b) 方法的使用。此处,我们使用字符串名称“tuts”实例化一个 StringBuffer 对象“buff”。然后,我们使用“buff”对象和布尔参数“true”调用 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);
   }
}

Output

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

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