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

问题:

以下哪项更好?

a instanceof B

要么

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

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

回答:

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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: What is the difference between instanceof and Class.isAssignableFrom(…)?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

92 − = 83