StringBuffer 类在 Java 中是一个可变字符序列,用于构建或修改字符串。与 String 类不同,StringBuffer 类的内容是可以修改的,它提供了很多方法来添加、删除和替换字符序列中的字符。因为 StringBuffer 是可变的,所以在进行大量字符串操作时(如拼接、插入、删除等),使用 StringBuffer 通常比使用 String 和 + 运算符更高效,因为 String 的不可变性会导致每次操作都创建新的字符串对象,这可能会产生大量的临时对象,从而影响性能。
StringBuffer 的主要方法包括:
·append(String str): 将指定的字符串追加到此字符序列的末尾。
·insert(int offset, String str): 将指定字符串插入此字符序列的指定位置。
·delete(int start, int end): 移除此序列的子字符串中的字符。
·replace(int start, int end, String str): 使用给定字符串替换此序列的子字符串。
·length(): 返回此字符序列的长度。
·charAt(int index): 返回此序列中指定索引处的 char 值。
·substring(int start, int end): 返回一个新的字符串,它是此字符序列的一个子序列。
·reverse(): 将此字符序列用其反转形式替换。
下面是一个使用 StringBuffer 的简单示例:
注意,在多线程环境中,StringBuffer 是线程安全的,因为它的大部分方法都是同步的。然而,如果性能是一个重要的考虑因素,并且你确定你的代码只会在单线程环境中运行,那么使用 StringBuilder 类可能会是一个更好的选择,因为 StringBuilder 的方法不是同步的,因此它通常比 StringBuffer 有更好的性能。