在Java中反转字符串的最简单方法是什么?

内建reverse()方法

StringBuffer类为您提供了一个名为的方法它反转当前StringBuffer对象的内容,并返回结果StringBuffer对象。这是使用Java逆转Sting的最简单方法。这样做- reverse()

  • 通过传递所需的String作为参数来实例化StringBuffer类。

  • 调用reverse()创建对象的方法。

  • 使用toString()方法再次将其转换为String 。

示例

public class Sample {
   public static void main(String args[]) {
      String str = new String("Hello how are you");
      StringBuffer sb = new StringBuffer(str);
      String str2 = sb.reverse().toString();
      System.out.println(str2);
   }
}

输出结果

uoy era woh olleH

让我们观察另外两种反转字符串的方法

使用递归

递归是一个在自身内部调用函数的过程,以下java程序使用递归将Sting反向-

示例

public class StringReverse {
   public String reverseString(String str) {
      if(str.isEmpty()) {
         return str;
      }else {
         return reverseString(str.substring(1))+str.charAt(0);
      }
   }
   public static void main(String[] args) {
      StringReverse obj = new StringReverse();
      String result = obj.reverseString("Nhooo");
      System.out.println(result);
   }
}

输出结果

tniopslairotuT

使用 toCharArray()

您还可以将String转换为字符数组,并交换该数组的字符。

要反转数组,请将第一个元素与最后一个元素交换,将第二个元素与第二个最后一个元素交换,依此类推,如果数组的长度为奇数,则中间元素保持原样。

如果i是数组的第一个元素(数组–i-1的长度)将是最后一个元素,则从头到尾交换array [i]与数组[(array –i-1的长度)]。数组的中点-

示例

import java.util.Arrays;
public class StringReverse {
   public static void main(String[] args) {
      String str = "Nhooo";
      char[] myArray = str.toCharArray();
      int size = myArray.length;
      for (int i = 0; i < size / 2; i++) {
         char temp = myArray[i];
         myArray[i] = myArray[size - 1 - i];
         myArray[size - 1 - i] = temp;
      }
      System.out.println("Array after reverse:: ");
      System.out.println(Arrays.toString(myArray));
   }
}

输出结果

Array after reverse::
[t, n, i, o, p, s, l, a, i, r, o, t, u, T]