StringBuilder支持链式调用是因为其append()等方法返回this(即StringBuilder类型),而非void,从而可连续调用;它提供多类型重载,但不可与String混用链式。

StringBuilder 的方法(如 append())返回的是 this,也就是当前 StringBuilder 对象本身,因此支持链式调用。
为什么能链式调用?
因为每个 append() 方法的返回类型是 StringBuilder,不是 void。它内部执行完修改后,直接 return this;这样下一次调用就可以接着在同一个对象上操作。
基本链式写法示例
以下代码等价于逐行调用,但更简洁清晰:
StringBuilder sb = new StringBuilder();
sb.append("Hello").append(" ").append("World").append("!"); // 返回 sb 自身
System.out.println(sb.toString()); // Hello World!
支持混合类型追加
append() 有多个重载版本,可接受 String、int、boolean、char、Object 等,链式中可自由混用:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
- append("Age: ") → 接字符串
- append(25) → 接整数,自动转为 "25"
- append(true) → 接布尔值,转为 "true"
- append('\n') → 接字符
String result = new StringBuilder()
.append("Name: ").append("Alice")
.append(", Age: ").append(30)
.append(", Active: ").append(true)
.toString();
// → "Name: Alice, Age: 30, Active: true"
注意:不可与 String 混用链式
String 是不可变的,它的 concat() 或 + 操作返回新 String 对象,不支持类似 StringBuilder 的连续 append 链式。误写如下会编译失败或逻辑错误:
// ❌ 错误:String.concat() 返回 String,没有 append() 方法
"hello".concat(" ").append("world"); // 编译报错
✅ 正确做法:始终从 StringBuilder 实例开始链式,结尾再调用 toString() 获取最终字符串。

















