rspec/rules/S2219/java/rule.adoc

47 lines
812 B
Plaintext
Raw Normal View History

== Why is this an issue?
To check the type of an object there are at least two options:
* The simplest and shortest one with help of the ``++instanceof++`` operator
* The cumbersome and error-prone one with help of the ``++Class.isAssignableFrom(...)++`` method
=== Noncompliant code example
[source,java]
----
if (MyClass.class.isAssignableFrom(x.getClass())) { // Noncompliant
MyClass mc = (MyClass)x;
}
----
=== Compliant solution
[source,java]
----
if (x instanceof MyClass.class) {
MyClass mc = (MyClass)x;
}
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Use "instanceof" instead.
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]