JAVA中如何实现字符串的反转?

第一种:使用递归的方法,实现字符串反转:

 1 /**
 2  *  使用递归方法,实现字符串反转
 3  */
 4 public class C {
 5 
 6     static String reverse(String originStr) {
 7         if(originStr == null || originStr.length() <= 1){
 8             return originStr;
 9         }
10         return reverse(originStr.substring(1)) + originStr.charAt(0);
11     }
12 
13 
14     public static void main(String[] args) {
15         System.out.println(reverse("123456"));
16         System.out.println(reverse("ABCDEFG"));
17     }
18 }

第二种:使用StringBuilder的reverse()方法,实现字符串反转:

 1 /**
 2  *  使用StringBuilder的reverse()方法,实现字符串反转
 3  */
 4 public class D {
 5     static String reverse(String str){
 6         StringBuilder result = new StringBuilder(str);
 7         return result.reverse().toString();
 8     }
 9 
10     public static void main(String[] args) {
11         System.out.println(reverse("123456"));
12         System.out.println(reverse("ABCDEF"));
13     }
14 }

第三种:使用字符串数组,实现从尾部开始逐个逆序放入字符串,实现字符串的反转:

 1 /**
 2  * 使用字符串数组,实现从尾部开始逐个逆序放入字符串,实现字符串的反转
 3  */
 4 public class E {
 5     static String reverse(String str){
 6         // String 转换成字符数组
 7         char[] charArray = str.toCharArray();
 8         // 定义一个空字符串
 9         StringBuilder result = new StringBuilder();
10 
11         for (int i = charArray.length-1; i>=0 ; i--) {
12             result.append(charArray[i]);
13         }
14         return result.toString();
15     }
16 
17 
18     public static void main(String[] args) {
19         System.out.println(reverse("123456"));
20         System.out.println(reverse("ABCDEF"));
21     }
22 }

第四种:使用String的CharAt()方法,使用String的CharAt方法取出字符串的各个字符,然后插入到字符串中,调用StringBuilder的insert()方法进行操作  

 1 /**
 2  * 使用 String的CharAt方法,使用String的CharAt方法取出字符串的各个字符,
 3  * 然后插入到字符串中,调用StringBuilder的insert()方法进行操作
 4  */
 5 public class F {
 6 
 7     static String reverse(String str){
 8         StringBuilder result = new StringBuilder();
 9 
10         int length = str.length();
11 
12         for (int i = 0; i < length; i++) {
13             result.insert(0,str.charAt(i));
14         }
15         return result.toString();
16     }
17 
18     public static void main(String[] args) {
19         System.out.println(reverse("123456"));
20         System.out.println(reverse("ABCDEF"));
21     }
22 }

                  

原文地址:https://www.cnblogs.com/liangbaolong/p/14601513.html