StringBuilder的insert方法在指定索引处插入字符序列,索引从0开始且须满足0≤offset≤length;支持多类型参数并自动toString(),返回this以支持链式调用。

StringBuilder 的 insert 方法用于在指定索引位置插入字符序列,索引从 0 开始,插入后原内容自动后移。
insert 方法的基本用法
insert 有多个重载版本,最常用的是:
- insert(int offset, String str):在索引 offset 处插入字符串 str
- insert(int offset, char c):插入单个字符
- insert(int offset, int num):插入数字的字符串形式(如 123 → "123")
注意:offset 必须 ≥ 0 且 ≤ 当前字符串长度。允许等于长度(即追加到末尾),但不能超过。
常见插入位置示例
假设初始 StringBuilder 为 new StringBuilder("hello")(长度为 5):
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
立即学习“Java免费学习笔记(深入)”;
- sb.insert(0, "X") → "Xhello"(开头插入)
- sb.insert(2, "Y") → "heYllo"('l' 前插入)
- sb.insert(5, "Z") → "helloZ"(末尾插入,offset 等于长度合法)
- sb.insert(6, "A") → 抛出 StringIndexOutOfBoundsException
插入非字符串类型要小心
insert 会自动调用参数的 toString(),但要注意:
-
insert(0, null) 插入的是字符串
"null",不是空值 -
insert(0, 42) 插入的是
"42" -
insert(0, new Object()) 插入的是类似
"java.lang.Object@1b6d3586"这样的默认 toString 结果
链式调用与返回值
insert 方法返回当前 StringBuilder 对象(this),支持链式调用:
- sb.insert(0, "A").insert(2, "B").append("!")
- 无需反复写 sb = sb.insert(...),直接连写即可

















