ループ内の文字列連結を報告します。

ループでは文字列連結のたびに文字列全体がコピーされるため、通常は StringBuilder.append() または StringBuffer.append() の明示的な呼び出しに置換することをお勧めします。

例:


  String str = "";
  for(int i=0; i<10; i++) {
    str += i;
  }

クイックフィックス適用後:


  String str = "";
  StringBuilder strBuilder = new StringBuilder(str);
  for(int i = 0; i<10; i++) {
    strBuilder.append(i);
  }
  str = strBuilder.toString();

このクイックフィックスを使用すると、String 変数を StringBuilder に変換したり、新しい StringBuilder を導入したりできる場合があります。 置換によってセマンティクスが変更される可能性があるため、元のコードが null 値を特別扱いしている場合は注意してください。 null 値が使用される可能性がある場合、必要な null チェックを生成する null セーフな修正をお勧めします。 また、自動置換によって常にパフォーマンスが向上するとは限りません。