Inspectopedia Help

Single character 'startsWith()' or 'endsWith()'

Reports calls to String.startsWith() and String.endsWith() where single character string literals are passed as an argument.

A quick-fix is suggested to replace such calls with more efficiently implemented String.charAt().

However, the performance gain of such change is minimal and the code becomes less readable because of the extra non-zero length check, so it is recommended to apply the quick-fix only inside tight loops.

This inspection is intended for Java ME and other highly resource constrained environments. Applying the results of this inspection without consideration might have negative effects on code clarity and design.

Example:

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

After the quick-fix is applied:

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

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

SingleCharacterStartsWith
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Java | Performance | Embedded

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.2, Qodana for JVM 2024.2,

Can be installed with plugin:

Java, 242.22892

Last modified: 11 September 2024