21xrx.com
2024-11-03 22:00:40 Sunday
登录
文章检索 我的文章 写文章
Java中字符串反转实现方法及案例
2023-06-12 03:37:00 深夜i     --     --
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);

}

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复