== 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[]
