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 且 ≤ 当前字符串长度。允许等于长度(即追加到末尾),但不能超过。
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
常见插入位置示例
假设初始 StringBuilder 为 new StringBuilder("hello")(长度为 5):
- 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(...),直接连写即可
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










