Java StringBuilder 类

2025年3月22日 | 阅读 3 分钟

Java StringBuilder 类用于创建可变的(可修改的)字符串。Java StringBuilder 类与 StringBuffer 类相同,不同之处在于它是非同步的。它自 JDK 1.5 起可用。

StringBuilder 类的常用构造函数

构造函数描述
StringBuilder()它创建一个初始容量为 16 的空 StringBuilder。
StringBuilder(String str)它使用指定的字符串创建一个 StringBuilder。
StringBuilder(int length)它以指定的容量(长度)创建一个空 StringBuilder。

StringBuilder 类的常用方法

方法描述
public StringBuilder append(String s)用于将指定的字符串追加到此字符串。append() 方法是重载的,如 append(char)、append(boolean)、append(int)、append(float)、append(double) 等。
public StringBuilder insert(int offset, String s)用于在指定位置将指定的字符串插入此字符串。insert() 方法是重载的,如 insert(int, char)、insert(int, boolean)、insert(int, int)、insert(int, float)、insert(int, double) 等。
public StringBuilder replace(int startIndex, int endIndex, String str)用于替换从指定的 startIndex 和 endIndex 的字符串。
public StringBuilder delete(int startIndex, int endIndex)用于删除从指定的 startIndex 和 endIndex 的字符串。
public StringBuilder reverse()用于反转字符串。
public int capacity()用于返回当前容量。
public void ensureCapacity(int minimumCapacity)用于确保容量至少等于给定的最小值。
public char charAt(int index)用于返回指定位置的字符。
public int length()用于返回字符串的长度,即字符的总数。
public String substring(int beginIndex)用于返回从指定的 beginIndex 开始的子字符串。
public String substring(int beginIndex, int endIndex)用于返回从指定的 beginIndex 到 endIndex 的子字符串。

Java StringBuilder 示例

让我们来看一下 StringBuilder 类不同方法的示例。

1) StringBuilder append() 方法

StringBuilder append() 方法将给定的参数连接到此字符串。

StringBuilderExample.java

输出

Hello Java

2) StringBuilder insert() 方法

StringBuilder insert() 方法将给定的字符串插入到此字符串的给定位置。

StringBuilderExample2.java

输出

HJavaello

3) StringBuilder replace() 方法

StringBuilder replace() 方法从指定的 beginIndex 和 endIndex 替换给定的字符串。

StringBuilderExample3.java

输出

HJavalo

4) StringBuilder delete() 方法

StringBuilder 类的 delete() 方法从指定的 beginIndex 到 endIndex 删除字符串。

StringBuilderExample4.java

输出

Hlo

5) StringBuilder reverse() 方法

StringBuilder 类的 reverse() 方法反转当前字符串。

StringBuilderExample5.java

输出

olleH

6) StringBuilder capacity() 方法

StringBuilder 类的 capacity() 方法返回 Builder 的当前容量。Builder 的默认容量为 16。如果字符数超过其当前容量,则容量会增加 (oldcapacity*2)+2。例如,如果您的当前容量为 16,则将为 (16*2)+2=34。

StringBuilderExample6.java

输出

16
16
34

7) StringBuilder ensureCapacity() 方法

StringBuilder 类的 ensureCapacity() 方法确保给定容量是当前容量的最小值。如果它大于当前容量,则容量会增加 (oldcapacity*2)+2。例如,如果您的当前容量为 16,则将为 (16*2)+2=34。

StringBuilderExample7.java

输出

16
16
34
34
70