org.sonar.l10n.java.rules.squid.S1697.html Maven / Gradle / Ivy
When either the equality operator in a null test or the logical operator that follows it is reversed,
the code has the appearance of safely null-testing the object before dereferencing it.
Unfortunately the effect is just the opposite - the object is null-tested and then dereferenced
only if it is null, leading to a guaranteed null pointer dereference.
Noncompliant Code Example
if (str == null && str.length() == 0) {
System.out.println("String is empty");
}
if (str != null || str.length() > 0) {
System.out.println("String is not empty");
}
Compliant Solution
if (str == null || str.length() == 0) {
System.out.println("String is empty");
}
if (str != null && str.length() > 0) {
System.out.println("String is not empty");
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy