Java--字符串反轉函數


1.利用StringBuffer里的reverse()方法

  • 雖然String和StringBUffer都能操作字符串,但是不屬於同一個類,不能直接兼容
  • StringBuffer()將String類型的str轉換為StringBuffer,方便調用reverse()方法。
  • toString()將StringBuffer類型轉換為String類型

2.最快的方式StringBuilder

  • StringBuffer和StringBuilder都繼承自屬於同一個類,用法相同。
  • 它和StringBuffer本質上沒什么區別,就是去掉了保證線程安全的那部分,減少了開銷。

總結:

1、在字符串不經常發生變化的業務場景優先使用String(代碼更清晰簡潔)。如常量的聲明,少量的字符串操作(拼接,刪除等)。

2、在單線程情況下,如有大量的字符串操作情況,應該使用StringBuilder來操作字符串。不能使用String"+"來拼接而是使用,避免產生大量無用的中間對象,耗費空間且執行效率低下(新建對象、回收對象花費大量時間)。如JSON的封裝等。

3、在多線程情況下,如有大量的字符串操作情況,應該使用StringBuffer。如HTTP參數解析和封裝等。

3.遞歸

public static String reverse(String s) {
int length = s.length();
if (length <= 1)
return s;
String left = s.substring(0, length / 2);
String right = s.substring(length / 2, length);
String afterReverse = reverse(right) + reverse(left);
return afterReverse;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM