StringBuilder的reverse()方法直接修改原对象并返回this,不创建新对象,是高效就地反转操作;调用后原内容立即改变,适合频繁修改场景。

StringBuilder 的 reverse() 方法会直接修改原对象的内容,返回 this(即当前 StringBuilder 对象),不是创建新对象。 它反转的是内部字符序列,操作高效、就地完成,适合频繁修改字符串的场景。
基本用法:调用 reverse() 即可反转
只需在 StringBuilder 实例上调用 reverse(),无需传参,调用后原内容立即被反转:
- 创建 StringBuilder 并追加内容:
StringBuilder sb = new StringBuilder("hello"); - 执行反转:
sb.reverse(); - 此时
sb.toString()返回"olleh"
注意:reverse() 是“破坏性”操作,不生成新对象
它不会像 String 那样返回新字符串,而是直接改变 StringBuilder 内部的 char 数组顺序:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 如果需要保留原始内容,应在调用前复制:
StringBuilder copy = new StringBuilder(sb); copy.reverse(); - 链式调用可行,因为返回的是自身:
String result = sb.reverse().toString(); - 多次调用 reverse() 会来回反转,例如
sb.reverse().reverse()等价于没变
和 String 反转的区别
String 不可变,反转必须新建对象;StringBuilder 可变,反转是原地修改:
立即学习“Java免费学习笔记(深入)”;
- String 方式:
new StringBuilder(str).reverse().toString()—— 常见便捷写法 - StringBuilder 方式:
sb.reverse()—— 更适合循环中反复反转或拼接后再反转 - 性能上,对同一内容多次反转,StringBuilder 比反复创建 String 对象更轻量
实际小例子:判断回文(忽略大小写)
利用 StringBuilder 反转快速比对:
String s = "Level";String lower = s.toLowerCase();boolean isPal = lower.equals(new StringBuilder(lower).reverse().toString());- 结果为
true,因为"level".equals("level")

















