如何在 Java 中将字符串转换为 StringBuilder 以及反之?


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

由于字符串是不可变的,如果您尝试重新分配字符串的值。它的引用将指向新的字符串对象,并在内存中留下一个未使用的字符串。

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

您可以反复修改/操作 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());
   }
}

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

输出

Arshad Althamas Johar Javed Raju Krishna

将 StringBuilder 转换为字符串

StringBuilder 类的 toString() 方法重新运行当前对象的字符串值。要将 StringBuilder 转换为字符串值,只需对其调用 toString() 方法。

示例

在下面的 Java 程序中,我们将字符串数组转换为使用 StringBuilder 的 toString() 方法的单个字符串。

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]);
      String singleString = sb.toString();
      System.out.println(singleString);
   }
}

输出

Arshad Althamas Johar Javed Raju Krishna

更新于: 2020-07-02

20K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始
广告