Which of the following is better?

a instanceof B

or

B.class.isAssignableFrom(a.getClass())

The only difference that I know of is, when ‘a’ is null, the first returns false, while the second throws an exception. Other than that, do they always give the same result?

14 s
14

When using instanceof, you need to know the class of B at compile time. When using isAssignableFrom() it can be dynamic and change during runtime.

Leave a Reply

Your email address will not be published. Required fields are marked *