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"); }
boolean startsWithX(String s) { return !s.isEmpty() && s.charAt(0) == 'x'; }

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.14841

Last modified: 12 March 2024