resources.report.rules.pmd.SimplifyStartsWith.html Maven / Gradle / Ivy
SimplifyStartsWith
SimplifyStartsWith
Since it passes in a literal of length 1, calls to (string).startsWith can be rewritten using (string).charAt(0) at the expense of some readability.
//PrimaryExpression
[PrimaryPrefix/Name
[ends-with(@Image, '.startsWith')] or PrimarySuffix[@Image='startsWith']]
[PrimarySuffix/Arguments/ArgumentList
/Expression/PrimaryExpression/PrimaryPrefix
/Literal
[string-length(@Image)=3]
[starts-with(@Image, '"')]
[ends-with(@Image, '"')]
]
Example(s):
public class Foo {
boolean checkIt(String x) {
return x.startsWith("a"); // suboptimal
}
boolean fasterCheckIt(String x) {
return x.charAt(0) == 'a'; // faster approach
}
}