java:Class.isInstance 与 Class.isAssignableFrom [英] java: Class.isInstance vs Class.isAssignableFrom

查看:28
本文介绍了java:Class.isInstance 与 Class.isAssignableFrom的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

clazz 成为一些 Classobj 成为一些 Object.

Let clazz be some Class and obj be some Object.

clazz.isAssignableFrom(obj.getClass())

总是一样

clazz.isInstance(obj)

?

如果不是,有什么区别?

If not, what are the differences?

推荐答案

clazz.isAssignableFrom(Foo.class) 每当 clazz 对象表示的类时,都会为真是 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) 就会为真.

即:

clazz.isAssignableFrom(obj.getClass()) == clazz.isInstance(obj)

只要 clazzobj 不为空,

总是为真.

is always true so long as clazz and obj are nonnull.

这篇关于java:Class.isInstance 与 Class.isAssignableFrom的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆