在需要对数据进行大量修改时,你会在Java中选择String还是StringBuffer?


String 类型是 Java 中的一个类,用于表示一组字符。Java 中的字符串是不可变的,一旦创建,就不能更改 String 的值。

由于 String 是不可变的,如果您尝试重新赋值 String 的值,它的引用将指向新的 String 对象,从而在内存中留下未使用的 String。

Java 提供了 StringBuffer 类来替代需要对字符 String 进行大量修改的情况下的 String。

您可以反复修改/操作 StringBuffer 的内容,而不会留下许多新的未使用的对象。

StringBuilder 类从 Java 5 开始引入,StringBuffer 和 StringBuilder 之间的主要区别在于 StringBuilder 的方法不是线程安全的(不同步的)。

建议尽可能使用 StringBuilder,因为它比 StringBuffer 快。但是,如果需要线程安全,则最佳选择是 StringBuffer 对象。

将 String 转换为 StringBuilder

StringBuilder 类的 append() 方法接受一个 String 值并将其添加到当前对象

要将 String 值转换为 StringBuilder 对象,只需使用 append() 方法将其附加。

示例

在下面的 Java 程序中,我们将一个 String 数组转换为单个 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

更新于:2019年8月5日

567 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告