java如何翻转字符
翻转字符串的方法
使用StringBuilder的reverse方法
String original = "Hello";
String reversed = new StringBuilder(original).reverse().toString();
System.out.println(reversed); // 输出 "olleH"
使用字符数组手动翻转
String str = "World";
char[] charArray = str.toCharArray();
int left = 0, right = charArray.length - 1;
while (left < right) {
char temp = charArray[left];
charArray[left] = charArray[right];
charArray[right] = temp;
left++;
right--;
}
String reversedStr = new String(charArray);
System.out.println(reversedStr); // 输出 "dlroW"
使用递归方法翻转
public static String reverseRecursively(String str) {
if (str.length() < 2) {
return str;
}
return reverseRecursively(str.substring(1)) + str.charAt(0);
}
String result = reverseRecursively("Java");
System.out.println(result); // 输出 "avaJ"
使用Java 8的Stream API

String input = "Stream";
String reversed = input.chars()
.mapToObj(c -> (char)c)
.reduce("", (s,c) -> c+s, (s1,s2) -> s1+s2);
System.out.println(reversed); // 输出 "maertS"
注意事项
- StringBuilder方法最简单高效,适合大多数场景
- 手动翻转方法可以更好地理解翻转过程
- 递归方法可能引发栈溢出,不适合超长字符串
- 考虑字符串是否包含Unicode代理对等特殊情况






