
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
43 lines
898 B
Plaintext
43 lines
898 B
Plaintext
== Why is this an issue?
|
|
|
|
There's no need to null-test a variable before an ``++instanceof++`` test because ``++instanceof++`` tests for ``++null++``. Similarly, there's no need to null-test a variable before dereferencing _some other_ object.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
if (myVar != null && myVar instanceof MyClass) { // Noncompliant
|
|
// ...
|
|
} else if (myVar != null && myOtherVar.equals(myVar) { // Noncompliant
|
|
// ...
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
if (myVar instanceof MyClass) {
|
|
// ...
|
|
} else if (myVar != null && myVar.equals(myOtherVar) {
|
|
// ...
|
|
}
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
* Remove the null-test of "xxx"; it is redundant.
|
|
* Remove the null-test of "xxx" or use its ".equals" method instead of "yyy's".
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|