instanceof和Class.isAssignableFrom(…)之间有什么区别?

以下哪一项更好

a实例B实例

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

我所知道的唯一区别是,当’a’为null时,第一个返回false,而第二个抛出异常。除此之外,他们总是给出相同的结果吗

使用instanceof时,需要在编译时知道B的类。使用isAssignableFrom()时,它可以是动态的,并在运行时更改

发表评论