查阅java.lang.StringBuilder的API,StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。
原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。

根据StringBuilder的API文档,常用构造方法有2个:

  • public StringBuilder():构造一个空的StringBuilder容器。
  • public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。
  1. public class test {
  2. public static void main(String[] args) {
  3. StringBuilder sb1 = new StringBuilder();
  4. System.out.println(sb1);
  5. StringBuilder sb2 = new StringBuilder("tom");
  6. System.out.println(sb2);
  7. }
  8. }

常用方法

StringBuilder常用的方法有2个:

  • public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
  • public String toString():将当前StringBuilder对象转换为String对象。

    append方法

    append方法具有多种重载形式,可以接收任意类型的参数。任何数据作为参数都会将对应的字符串内容添加到StringBuilder中。
    public class test {
      public static void main(String[] args) {
          StringBuilder builder1 = new StringBuilder();
          StringBuilder builder2 = new StringBuilder();
          System.out.println("builder1:" + builder1);
          System.out.println("builder2:" + builder2);
          builder1.append("hello");
          builder1.append(true);
          builder1.append(100);
          System.out.println("builder1:" + builder1);
          System.out.println("builder2:" + builder2);
      }
    }
    

    toString方法

    通过toString方法,StringBuilder对象将会转换为不可变的String对象.
    public class test {
      public static void main(String[] args) {
          StringBuilder sb = new StringBuilder();
          sb.append("hello").append("world");
          String str = sb.toString();
          System.out.println(str);
      }
    }