StringBuilder 是 Java 中的一个类,位于 java.lang 包下,它提供了一种有效的方法来构建可变的字符串。相比 String 类型,StringBuilder 允许我们在不创建新的字符串实例的情况下修改和添加内容,这对于频繁修改字符串的操作(如拼接、插入、删除)特别有用,能显著提高性能,因为它减少了内存分配和垃圾回收的压力。
主要方法
构造方法:
StringBuilder(): 创建一个空的 StringBuilder 实例。
StringBuilder(String str): 创建一个 StringBuilder 实例,并将其初始化为指定的字符串内容。
常用操作方法:
append(String str): 将指定的字符串追加到此序列的末尾。
insert(int offset, String str): 将指定的字符串插入此序列中指定的位置。
delete(int start, int end): 删除此序列指定范围的字符。
replace(int start, int end, String str): 用指定的字符串替换此序列指定范围的子字符串。
reverse(): 将此字符序列中的字符逆序。
转换方法:toString(): 将当前 StringBuilder 对象转换为字符串。
示例
Java
StringBuilder sb = new StringBuilder("Hello,");
sb.append(" World!"); // 添加内容
sb.insert(6, "beautiful "); // 在指定位置插入内容
System.out.println(sb.toString()); // 输出: Hello,beautiful World!
性能优势 由于 String 类型在 Java 中是不可变的,每次对字符串进行修改(如拼接)都会生成一个新的字符串对象,这在大量操作时会导致性能下降和不必要的内存消耗。而 StringBuilder 内部维护一个可变的字符数组,允许直接在其上进行修改操作,避免了频繁创建新对象的开销,特别适合于循环中拼接字符串或处理大量字符串操作的场景。