Java 反转字符串

1、Java 反转字符串是将字符串中的字符按相反的顺序重新排列形成的新字符串。它可以帮助开发者快速的实现字符串反转的功能,从而提高开发效率。

2、Java 反转字符串的方法有多种,可以使用 Java 自带的 API,也可以使用自定义的算法实现,下面将简要介绍几种常见的反转字符串的方法。

3、使用 StringBuffer 类的 reverse() 方法:StringBuffer 类是一个可变的字符序列,它具有丰富的方法,其中 reverse() 方法可以将字符串反转,可以使用如下代码实现:

StringBuffer sb = new StringBuffer("Hello World!");String s = sb.reverse().toString();
Java

4、使用 StringBuilder 类的 reverse() 方法:StringBuilder 类也是一个可变的字符序列,它和 StringBuffer 类有着相同的 API,可以使用如下代码实现:

StringBuilder sb = new StringBuilder("Hello World!");String s = sb.reverse().toString();
Java

5、使用 String 类的 toCharArray() 方法:String 类是不可变的字符序列,它没有 reverse() 方法,但是它有 toCharArray() 方法可以将字符串转换为字符数组,然后可以使用双指针从两端向中间遍历,交换两端的字符,最后将字符数组转换为字符串,可以使用如下代码实现:

String s = "Hello World!";char[] arr = s.toCharArray();int left = 0;int right = arr.length - 1;while (left < right) {char temp = arr[left];arr[left] = arr[right];arr[right] = temp;left++;right--;}s = new String(arr);
Java

6、使用递归的方法:如果字符串长度大于 1,则可以使用递归的方法,取出字符串的第一个字符和最后一个字符,然后将字符串除去第一个字符和最后一个字符的子串递归调用,最后将第一个字符和最后一个字符拼接在一起,可以使用如下代码实现:

public static String reverse(String s) {if (s.length() <= 1) {return s;}return reverse(s.substring(1)) + s.charAt(0);}
Java