在應用程序中,字符串是一種常用的數據類型。我們知道的是,字符串的變化使用大量的內存。所以我們可以做的是使用一個StringBuilder/StringBuffer。我們應該什麼時候將字符串更改爲Stringbuilder?
但是我們應該在什麼時候改爲StringBuilder?
我們該怎麼做,當我們必須拆分它或重新放置那裏的角色時?
如:
//original:
String[] split = string.split("?");
//better? :
String[] split = stringBuilder.toString().split("?);
您
String
,那麼你可以去
StringBuilder
或
//original:
String replacedString = string.replace("l","st");
//better? :
String replacedString = stringBuilder.toString().replace("l","st");
//or
StringBuilder replacedStringBuilder = new StringBuilder(stringBuilder.toString().replace("l","st);
如果您擔心這種侵入式重構,並且您不知道「StringBuilder」和'StringBuffer'(可能它們與'String'有什麼不同),你可能是做這種重構的錯誤人物。 –
這是我的應用程序;)爲什麼其他人應該重構...否則當我不這樣做時,學習效果在哪裏? – Neifen
好的。當你這樣做重構時,你將不得不改變你正在使用的很多API,因爲它們中的很多都需要'String'。您還應該多介紹一下您想要優化的字符串:它們是否僅用於應用程序的一小部分?整個系統的哪些組件需要它們,並且它們是否要求它們以'String'的形式傳遞? –