単一文字の文字列リテラルが引数として渡されている String.startsWith() および String.endsWith() の呼び出しを報告します。

このような呼び出しをより効率性に優れた実装の String.charAt() に置換するクイックフィックスが提案されます。

ただし、この変更によるパフォーマンス向上は最小限であり、非ゼロ長チェックが追加されるために可読性が低下してしまいます。そのため、このクイックフィックスは厳密なループ内でのみ適用することをお勧めします。

このインスペクションは、Java ME やリソースの使用が大幅に制限されているその他の環境を想定しています。 このインスペクションの結果をよく考えずに適用した場合、コードの分かりやすさや設計に悪影響を及ぼす可能性があります。

例:


  boolean startsWithX(String s) {
    return s.startsWith("x");
  }

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


  boolean startsWithX(String s) {
    return !s.isEmpty() && s.charAt(0) == 'x';
  }