Java之——Class的isAssignableFrom方法

转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80508540

Class的isAssignableFrom方法定义如下:

public native boolean isAssignableFrom(Class<?> cls);

由方法签名可见是一个本地方法,即C代码编写的。

以下是JDK中的注释:

Determines if the class or interface represented by this Class object is either the same as,  

or is a superclass or superinterface of, the class or interface represented by the specified Class parameter.

It returns true if so; otherwise it returns false.

If this Class object represents a primitive type, this method returns true if the specified Class parameter is exactly this Class object; otherwise it returns false.

意思如下:

有两个Class类型的类象,一个是调用isAssignableFrom方法的类对象(后称对象a),以及方法中作为参数的这个类对象(称之为对象b),这两个对象如果满足以下条件则返回true,否则返回false:

    a对象所对应类信息是b对象所对应的类信息的父类或者是父接口,简单理解即a是b的父类或接口

    a对象所对应类信息与b对象所对应的类信息相同,简单理解即a和b为同一个类或同一个接口

这里,我们给出一个具体的实例如下:

//说明:Protocol是接口,DubboProtocol是Protocol的实现
Class protocolClass = Protocol.class ;   
Class dubboProtocolClass = DubboProtocol.class ;
        
        
 protocolClass.isAssignableFrom(dubboProtocolClass )) ;   //返回true
 protocolClass.isAssignableFrom(protocolClass )) ;        //返回true
 dubboProtocolClass.isAssignableFrom(protocolClass )) ;   //返回false

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰 河

可以吃鸡腿么?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值