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.


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'; }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3


Java, 233.SNAPSHOT

Last modified: 13 July 2023