StringBuilder的delete、replace、reverse方法支持高效原地修改:delete(int start,int end)删除[start,end)字符;replace(int start,int end,String str)覆盖指定区间;reverse()整体翻转字符串。

Java 中 StringBuilder 的 delete、replace 和 reverse 方法,是高效原地修改字符串内容的核心工具。它们不创建新对象,直接操作内部字符数组,适合频繁修改的场景。
delete:精准删掉指定范围的字符
delete(int start, int end) 删除从索引 start(含) 到 end(不含) 的子串。注意:索引从 0 开始,且 end 不能超过当前长度。
- 删除开头 2 个字符:
sb.delete(0, 2) - 删除末尾 3 个字符:
sb.delete(sb.length() - 3, sb.length()) - 清空全部内容:
sb.delete(0, sb.length())(比setLength(0)更直观)
replace:用新字符串覆盖指定区间
replace(int start, int end, String str) 把 [start, end) 区间替换成 str。如果 str 为 null,会插入字符串 "null";若区间越界会抛 StringIndexOutOfBoundsException。
- 把第 3–5 位(索引 2–4)替换成 "XYZ":
sb.replace(2, 5, "XYZ") - 实现“插入”效果:在位置 i 插入 s →
sb.replace(i, i, s) - 实现“删除 + 替换”组合:比如删掉中间一段再补新内容,一步到位
reverse:一键翻转整个字符串或局部内容
reverse() 直接反转整个 StringBuilder 内容,返回自身(支持链式调用)。它不接受参数,也不能只反转某一段——如需局部翻转,可先 substring 提取、翻转,再 replace 回去。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
- 整体翻转:
sb.reverse() - 局部翻转示例(翻转索引 2 到 6 的部分):
String part = sb.substring(2, 6);sb.replace(2, 6, new StringBuilder(part).reverse().toString());
组合使用提升灵活性
这三个方法常配合使用,实现复杂编辑逻辑。例如:清理字符串中的空格并倒序单词顺序:
- 先
delete所有空格(遍历+删除需倒序索引,或用replace替换为空串) - 再
reverse()整体翻转 - 若要按单词翻转(如 "Hello World" → "World Hello"),可结合
split和循环insert/replace
实际编码中注意边界检查和链式调用的可读性,避免多次 reverse 或错位 delete 导致索引混乱。

















