Java实现String与StringBuilder相互转换

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

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

在需要对字符串进行大量修改的地方,Java提供了StringBuffer类作为String的替代。

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

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

建议尽可能使用StringBuilder,因为它比StringBuffer快。但是,如果必须保证线程安全,则最好的选择是StringBuffer对象。

将字符串转换为StringBuilder

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

要将String值转换为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

将StringBuilder转换为String

StringBuilder类的toString()方法重新运行当前对象的String值。 要将StringBuilder转换为String值,只需在其上调用toString()方法即可。

示例

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

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