Java如何将字符串反转?

最推荐使用 StringBuilder 的 reverse() 方法,代码简洁且性能好;2. 可手动遍历字符数组并用 StringBuilder 拼接实现反转,适合自定义逻辑;3. StringBuffer 也可用于多线程环境下的字符串反转,但性能略低。

Java中反转字符串有多种方法,最常用的是使用 StringBuilderStringBuffer 的 reverse() 方法。下面介绍几种实用且高效的实现方式。

使用 StringBuilder 反转字符串

这是最推荐的方法,因为 StringBuilder 的 reverse() 方法内部已经优化,代码简洁且性能好。

String str = "hello";
String reversed = new StringBuilder(str).reverse().toString();
System.out.println(reversed); // 输出: olleh

手动遍历字符数组反转

如果你需要自己控制反转逻辑,比如学习算法或特殊处理,可以通过从后往前遍历字符来实现。

String str = "hello";
char[] chars = str.toCharArray();
String result = "";
for (int i = chars.length - 1; i >= 0; i--) {
    result += ch

ars[i]; } System.out.println(result); // 输出: olleh

注意:这种方式在字符串较长时效率较低,因为字符串拼接会产生多个临时对象。建议改用 StringBuilder 来拼接。

StringBuilder sb = new StringBuilder();
for (int i = chars.length - 1; i >= 0; i--) {
    sb.append(chars[i]);
}
String reversed = sb.toString();

使用 StringBuffer(线程安全)

StringBuffer 和 StringBuilder 类似,也提供 reverse() 方法,区别是它线程安全,适合多线程环境,但性能略低。

String str = "hello";
String reversed = new StringBuffer(str).reverse().toString();
System.out.println(reversed); // 输出: olleh

基本上就这些常用方法。日常开发中优先用 StringBuilder,简单又高效。