21xrx.com
2025-06-12 17:07:24 Thursday
文章检索 我的文章 写文章
Java中字符串反转实现方法及案例
2023-06-12 03:37:00 深夜i     22     0
Java 字符串 反转

我们经常需要将一个字符串反转过来,Java提供了多种实现方式,本文将介绍几种常见的实现方法及其代码案例。

一、使用StringBuffer/StringBuilder的reverse方法

StringBuffer和StringBuilder都有一个reverse方法,可以将字符串反转。这两个类的方法基本相同,不同的是StringBuffer是线程安全的,而StringBuilder是非线程安全的。因此,如果不需要线程安全,应该使用StringBuilder。

代码实现如下:

String originalString = "Hello world!";
StringBuilder sb = new StringBuilder(originalString);
String reversedString = sb.reverse().toString();
System.out.println(reversedString);

二、使用toCharArray和for循环

将字符串转换为字符数组,然后使用for循环逆序遍历字符数组,将每一个字符添加到一个新的字符串中。

代码实现如下:

String originalString = "Hello world!";
char[] charArray = originalString.toCharArray();
String reversedString = "";
for (int i = charArray.length - 1; i >= 0; i--) {
  reversedString += charArray[i];
}
System.out.println(reversedString);

三、使用递归实现

将字符串分为两部分,递归地将后半部分反转,然后将前半部分反转,最后将两个反转后的字符串合并起来。

代码实现如下:

public static String reverseString(String str) {
  if (str.length() <= 1)
    return str;
  
  int mid = str.length() / 2;
  String left = str.substring(0, mid);
  String right = str.substring(mid, str.length());
  return reverseString(right) + reverseString(left);
}
public static void main(String[] args) {
  String originalString = "Hello world!";
  String reversedString = reverseString(originalString);
  System.out.println(reversedString);
}

三种方法各有优缺点,可以根据实际情况选择使用。

  
  

评论区