
resources.report.rules.pmd.UseLocaleWithCaseConversions.html Maven / Gradle / Ivy
UseLocaleWithCaseConversions
UseLocaleWithCaseConversions
When doing a String.toLowerCase()/toUpperCase() call, use a Locale. This avoids
problems with certain locales, i.e. Turkish.
This rule is defined by the following XPath expression:
//PrimaryExpression
[PrimaryPrefix/Name
[ends-with(@Image, 'toLowerCase') or ends-with(@Image,
'toUpperCase')]
]
[PrimarySuffix[position() = 1]/Arguments[@ArgumentCount=0]]
Example:
class Foo {
// BAD
if (x.toLowerCase().equals("list"))...
/*
This will not match "LIST" when in Turkish locale
The above could be
if (x.toLowerCase(Locale.US).equals("list")) ...
or simply
if (x.equalsIgnoreCase("list")) ...
*/
// GOOD
String z = a.toLowerCase(Locale.EN);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy