本文介绍了java:Class.isInstance vs Class.isAssignableFrom的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
让 clazz
成为 Class
和 obj
be一些对象
。
是
clazz.isAssignableFrom(obj.getClass())
始终与
clazz.isInstance(obj)
?
如果没有,有什么区别?
If not, what are the differences?
推荐答案
每当由
clazz
将为true > object是 Foo
的超类或超接口。
clazz.isAssignableFrom(Foo.class)
will be true whenever the class represented by the clazz
object is a superclass or superinterface of Foo
.
clazz.isInstance(obj)只要对象
就为真。 obj
是类 clazz
的实例,
clazz.isInstance(obj)
will be true whenever the object obj
is an instance of the class clazz
.
即:
clazz.isAssignableFrom(obj.getClass()) == clazz.isInstance(obj)
始终为真,只要 clazz
和 obj
是非空的。
is always true so long as clazz
and obj
are nonnull.
这篇关于java:Class.isInstance vs Class.isAssignableFrom的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!