Java字符串反转常见的几种方式?

1|0(1)通过StringBuilder的reverse()方法,速度最快:

1 public class StringReverse { 2 public static void main(String[] args) { 3 String str="hello"; 4 System.out.println(reverse(str)); 5 6 } 7 public static StringBuilder reverse(String str){ 8 return new StringBuilder(str).reverse(); 9 } 10 }

2|0(2)通过递归实现,比较高大上:

1 public class StringReverse { 2 public static void main(String[] args) { 3 String str="hello"; 4 System.out.println(reverse(str)); 5 6 } 7 public static String reverse(String str){ 8 int len=str.length(); 9 if(len==1) 10 return str; 11 //subString(1)表示把字符串中索引1之后的字串拿出来;charAt(0)表示取字符串的第一个字符 12 return reverse(str.substring(1))+str.charAt(0); 13 } 14 }

3|0(3)通过charAt()方法:

1 public class StringReverse { 2 public static void main(String[] args) { 3 String str="hello"; 4 System.out.println(reverse(str)); 5 6 } 7 public static String reverse(String str){ 8 String ans=""; 9 for(int i=str.length()-1;i>=0;i--){ 10 char c=str.charAt(i); 11 ans+=c; 12 } 13 return ans; 14 } 15 }

 

4|0(4)通过String的toCharArray()方法

1 public class StringReverse { 2 public static void main(String[] args) { 3 String str="hello"; 4 System.out.println(reverse(str)); 5 6 } 7 public static String reverse(String str){ 8 char[] chars = str.toCharArray(); 9 String ans=""; 10 for (int i = chars.length - 1; i >= 0; i--) { 11 ans+=chars[i]; 12 } 13 return ans; 14 } 15 }

 


__EOF__

本文作者程序员小宇
本文链接https://www.cnblogs.com/treasury/p/12593600.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   程序员小宇  阅读(582)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示