当数据需要大量更改时,在 Java 中,String 和 StringBuffer 哪个好?
java 8object oriented programmingprogramming更新于 2025/9/21 3:24:17
String 类型是 Java 中的一个类,用于表示一组字符。Java 中的字符串是不可变的,一旦创建,就无法更改其值。
由于字符串是不可变的,如果您尝试重新分配字符串的值。它的引用将指向新的 String 对象,从而在内存中留下一个未使用的 String。
Java 提供了 StringBuffer 类来替代需要对字符串进行大量修改的 String。
您可以反复修改/操作 StringBuffer 的内容,而不会留下大量新的未使用的对象。
StringBuilder 类是从 Java 5 开始引入的,StringBuffer 和 StringBuilder 之间的主要区别在于 StringBuilder 的方法不是线程安全的(非同步的)。
建议尽可能使用 StringBuilder,因为它比 StringBuffer 更快。但是,如果需要线程安全,最佳选择是 StringBuffer 对象。
将字符串转换为 StringBuilder
StringBuilder 类的 append() 方法接受一个字符串值并将其添加到当前 对象。
要将字符串值转换为 StringBuilder 对象,只需使用 append() 方法将其附加到该对象即可。
示例
在下面的 Java 程序中,我们将一个字符串数组转换为单个 StringBuilder 对象。
public class StringToStringBuilder {
public static void main(String args[]) {
String strs[] = {"Arshad", "Althamas", "Johar", "Javed", "Raju", "Krishna" };
StringBuilder sb = new StringBuilder();
sb.append(strs[0]);
sb.append(" "+strs[1]);
sb.append(" "+strs[2]);
sb.append(" "+strs[3]);
sb.append(" "+strs[4]);
sb.append(" "+strs[5]);
System.out.println(sb.toString());
}
}
输出
Arshad Althamas Johar Javed Raju Krishna

