instanceof跟isAssignableFrom区别

以下问答来源于stackoverflow:
问:
What is the difference between instanceof and Class.isAssignableFrom(…)?
答:
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.

总结:使用instanceof的时候,在编译阶段就要知道所反射对象的类型,而使用isAssignableFrom的时候,却不需要,可以在运行时动态反射成我们需要的对象类型,相比instanceof更灵活。

另外,使用java.lang.Class的isInstance方法也可以动态的判断对象的类型。

发表评论

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

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>