Java StringBuffer 动态字符串

704 阅读1分钟

image.png

  • 通过 + 进行拼接字符串,每次拼接,都会构建一个新的 String 对象,既耗时,又浪费内存空间,而这种操作还不可避免。

  • 那么有没有一种比较好的方式可以解决这个问题呢? 答案是肯定的,可以通过 Java 提供的 StringBuilder 类就来解决这个问题,它是一个可变的字符串。

    • String:内容是不可变的。
    • StringBuilder:内容是可变的。
  • 构造方法

    image.png

  • 添加与反转方法

    image.png

  • 案例代码

    public class test {
      public static void main(String[] args) {
        // 创建对象
        StringBuffer sb = new StringBuffer();
        // 添加数据,并返回对象本身
        StringBuffer sb2 = sb.append("dzm");
        // 输出
        System.out.println("sb:" + sb); // dzm
        System.out.println("sb2:" + sb2); // dzm
        System.out.println(sb == sb2); // true
        // 链式拼接
        sb2.append("+").append("xyq").append("=").append("djy");
        System.out.println("sb:" + sb); // dzm+xyq=djy
        System.out.println("sb2:" + sb2); // dzm+xyq=djy
        System.out.println(sb == sb2); // true
        // 反转字符串
        sb2.reverse();
        System.out.println("sb2:" + sb2); // yjd=qyx+mzd
      }
    }