1. 程式人生 > >對java中的String採用+=連線字串需要注意的一個問題

對java中的String採用+=連線字串需要注意的一個問題

 

對於java 中String的 += 操作,由於其潛在的會生成新的StringBuffer進行
連線操作(參考java tutorial),如果多次使用的話會嚴重影響效率。

比如:
  檢查某個字串時, 如果採用下面方法並且字串很長的話,效率會非常低下:
  String newString = "";
  int length = inString.length();
  for (int index = 0; index < length; ++index) {
      char commonChar = comments.charAt(index);
      if ((commonChar == '/'') || (commonChar == '//'))
         newString += "//";
      newString += commonChar;
 }


此時應該使用StringBuffer:

StringBuffer newString = new StringBuffer();
newString.append("//");
newString.append(commonChar);