java中字符串反转
时间: 2025-03-16 09:19:01 浏览: 30
### Java 中字符串反转的方法
在 Java 中,可以通过多种方式来实现字符串的反转操作。以下是几种常见的方法及其对应的代码示例。
#### 方法一:使用 `StringBuilder` 的 `reverse()` 方法
Java 提供了一个内置类 `StringBuilder`,它有一个专门用于反转字符串的方法 `reverse()`。这种方法简单高效[^1]。
```java
public class ReverseStringExample {
public static void main(String[] args) {
String original = "Hello";
StringBuilder builder = new StringBuilder(original);
String reversed = builder.reverse().toString();
System.out.println(reversed); // 输出 olleH
}
}
```
#### 方法二:通过字符数组手动反转
另一种常见的方式是将字符串转换为字符数组,然后逐个交换首尾字符的位置,从而完成反转操作[^2]。
```java
public class ReverseStringCharArray {
public static String reverseString(String str) {
char[] chars = str.toCharArray();
int left = 0;
int right = chars.length - 1;
while (left < right) {
// 交换左右两个字符
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
return new String(chars);
}
public static void main(String[] args) {
String original = "Hello";
String reversed = reverseString(original);
System.out.println(reversed); // 输出 olleH
}
}
```
#### 方法三:利用 Java 8 的 Stream API 实现
从 Java 8 开始,Stream API 成为了处理集合数据的强大工具。虽然它的设计初衷并非针对字符串操作,但我们仍然可以借助其功能来实现字符串反转[^3]。
```java
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class ReverseWithStringStream {
public static String reverseUsingStream(String input) {
return IntStream.rangeClosed(1, input.length())
.mapToObj(i -> String.valueOf(input.charAt(input.length() - i)))
.collect(Collectors.joining());
}
public static void main(String[] args) {
String original = "Hello";
String reversed = reverseUsingStream(original);
System.out.println(reversed); // 输出 olleH
}
}
```
#### 方法四:递归法实现字符串反转
递归是一种经典的编程技巧,在某些场景下也可以用来解决字符串反转问题。尽管这种方式可能不如其他方法效率高,但它有助于理解递归的工作原理。
```java
public class RecursiveReverse {
public static String reverseRecursively(String str) {
if ((str == null) || (str.length() <= 1)) {
return str;
} else {
return reverseRecursively(str.substring(1)) + str.charAt(0);
}
}
public static void main(String[] args) {
String original = "Hello";
String reversed = reverseRecursively(original);
System.out.println(reversed); // 输出 olleH
}
}
```
以上就是 Java 中常用的几种字符串反转方法。每种方法都有自己的特点和适用范围,开发者可以根据实际需求选择合适的方式来解决问题。
阅读全文
相关推荐

















