instanceof と Class.isAssignableFrom(...) の違いは何ですか? 質問する

instanceof と Class.isAssignableFrom(...) の違いは何ですか? 質問する

次のどれが良いでしょうか?

a instanceof B

または

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

私が知っている唯一の違いは、'a' が null の場合、最初のものは false を返し、2 番目のものは例外をスローすることです。それ以外は、常に同じ結果になりますか?

ベストアンサー1

を使用する場合、コンパイル時にinstanceofのクラスを知っておく必要があります。 を使用する場合、 は動的であり、実行時に変更される可能性があります。BisAssignableFrom()

おすすめ記事