Java StringBuilder 类



StringBuilder 类简介

Java StringBuilder 类是字符的可变序列。它提供与 StringBuffer 兼容的 API,但不保证同步。StringBuilder 类可以用来替换 StringBuffer,在使用单线程操作时。由于 StringBuffer 具有同步的开销,因此 StringBuilder 作为 StringBuffer 的更快替代方案。在多线程环境中,如果需要同步字符串操作,则推荐使用 StringBuffer,否则使用 StringBuilder 以提高性能。

StringBuilder 类声明

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

public final class StringBuilder
   extends Object
      implements Serializable, CharSequence

StringBuilder 类构造函数

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

序号 构造函数及描述
1

StringBuilder()

此构造函数创建一个字符串生成器,其中不包含任何字符,并且初始容量为 16 个字符。

2

StringBuilder(CharSequence seq)

此构造函数创建一个字符串生成器,其中包含与指定 CharSequence 相同的字符。

3

StringBuilder(int capacity)

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

4

StringBuilder(String str)

此构造函数创建一个字符串生成器,并将其初始化为指定字符串的内容。

StringBuilder 类方法

以下是 StringBuilder 类的函数列表。每个函数都有多个示例来演示函数的功能。

序号 函数及描述
1 StringBuilder append()

此函数将给定的字符串参数追加到序列中。

2 StringBuilder 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 StringBuilder delete(int start, int end)

此函数删除此序列子字符串中的字符。

9 StringBuilder 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 StringBuilder insert()

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

14 int lastIndexOf(String str)

此函数返回此字符串中指定子字符串最右侧出现的索引。

15 int length()

此函数返回长度(字符数)。

16 int offsetByCodePoints(int index, int codePointOffset)

此函数返回此序列中从给定索引偏移 codePointOffset 个代码点的索引。

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

此函数用指定字符串中的字符替换此序列子字符串中的字符。

18 StringBuilder 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

示例:将布尔值追加到 StringBuilder

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

package com.tutorialspoint;

public class StringBuilderDemo {

   public static void main(String[] args) {

      StringBuilder stringBuilder = new StringBuilder("tuts ");
      System.out.println("builder = " + stringBuilder);

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

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

输出

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

stringBuilder = tuts
After append = tuts true
stringBuilder = abcd
After append = abcd false
广告

© . All rights reserved.