java中stringbuilder的reverse()方法可原地反转字符串并返回自身引用,string因不可变需先转stringbuilder再反转,stringbuilder非线程安全但性能优于stringbuffer。

Java 中 StringBuilder 自带 reverse() 方法,调用一次就能完成字符串反转,无需手动遍历或拼接。
直接调用 reverse() 方法
StringBuilder 是可变字符序列,其 reverse() 方法会原地反转内部字符数组,返回当前对象引用(支持链式调用)。
示例:
StringBuilder sb = new StringBuilder("hello");
sb.reverse(); // 变成 "olleh"
System.out.println(sb.toString()); // 输出:olleh
反转后获取字符串结果
reverse() 修改的是原对象,如需字符串类型结果,记得调用 toString():
- 只反转不保存:直接
sb.reverse().toString() - 后续还要操作:先
sb.reverse(),再按需使用sb.toString()或其他方法
和 String 的区别:不能对 String 直接反转
String 是不可变的,没有 reverse() 方法。常见错误写法:"abc".reverse() 会编译失败。
正确做法是先转成 StringBuilder:
String str = "world"; String reversed = new StringBuilder(str).reverse().toString(); // "dlrow"
注意线程安全与性能
StringBuilder 非线程安全,但正因如此,它比 StringBuffer(也有 reverse())更快,适合单线程场景。
如果在多线程中需要反转,且必须保证安全,才考虑用 StringBuffer;一般情况优先选 StringBuilder。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











