Java之——Class的isAssignableFrom方法_caused by: java.lang.class.isassignablefrom(native-程序员宅基地

技术标签: Java  精通Java系列  

转载请注明出处: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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/l1028386804/article/details/80508540

智能推荐

谈谈对服务化的理解-程序员宅基地

文章浏览阅读391次,点赞5次,收藏5次。首先:服务化是什么,为什么要服务化服务化是一种将业务、功能或流程抽象为服务的设计方法,通过服务之间的协作和调用来实现系统的整合和复用。它可以提高系统的可维护性和扩展性,主要用来构建分布式系统。然后:怎样服务化SOA和微服务都是实现了服务化的、比较典型的架构风格。SOA的出现是为了解决功能复用的问题,将一些通用的模块提取出来做成服务。但是SOA对于通用模块的设计没有设计核心原则,因此在对应需求变化等...

关于thinkphp的__construct和_initialize-程序员宅基地

文章浏览阅读128次。先说一下__construct吧,construct是php的构造函数,每次new这个类的时候会运行这个函数,子类继承父类时,如果子类中没有construct的时候,会自动调用父类的,如果有,则调用子类的,如果想调用父类的要加parent::__construct()。_initialize()是thinkphp特有的函数,注意是只有一个下划线_而已!这个函数只会在此class有继承父类的..._call to protected yzh\baseclient::__construct() from context 'user\controlle

aes加密工具类-程序员宅基地

文章浏览阅读5.1k次。import javax.crypto.*;import javax.crypto.spec.SecretKeySpec;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;public class AesUtil {_aes加密工具类

enable cef support ffmpeg_cefpython ffmpeg-程序员宅基地

文章浏览阅读1.9k次。refefences:https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding这里有源码包列表。如果automate-git.py git下载失败,只能申请海外服务器。 Env precondition:Win 7+, VS2015u3, Win10.0.14393 SDK, Ninja 1...._cefpython ffmpeg

Spring @Scheduled定时任务每次执行两次_@scheduled执行两次-程序员宅基地

文章浏览阅读4.2k次。我所遇到定时任务每次执行两次,是因为:1、在spring配置中定义了bean,例如:<bean id="dyGoodsMQListener" class="com.XX.union.open.push.goods.mq.DYGoodsMQListener"/>2、在对象中又加了注解:@Componentpublic class DYGoodsMQListener ..._@scheduled执行两次

图像缩放双线性插值算法_缩放比例越大 双线性插值越大吗-程序员宅基地

文章浏览阅读3w次。插值算法对于缩放比例较小的情况是完全可以接受的,令人信服的。一般的,缩小0.5倍以上或放大3.0倍以下,对任何图像都是可以接受的。最邻近插值(近邻取样法):  最临近插值的的思想很简单。对于通过反向变换得到的的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目的像素的像素值,也就是说,取浮点坐标最邻近的左上角点(对于DIB是右上角,因为它的扫描行是逆序存储的_缩放比例越大 双线性插值越大吗

随便推点

空格字符和空字符的区别_ascii码中的空格和空字符的区别-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏6次。在开发中看到需求上这样一条:报文头里面,允许输入空值的地方,要使用空格填充,即byte 0x20,不能使用byte 0x00。一开始完全不明白在说什么,经过查阅之后才明白过来:上述的0x20 和0x00指的是字符的ascii码16进制0x20, 十进制32:空格字符 指键盘上长长的那个键产生的字符而16进制0x00, 十进制0 :空字符 指字符串结尾系统自动_ascii码中的空格和空字符的区别

[1126]kerberos认证相关问题_keytab contains no suitable keys for lucanet@nyoco-程序员宅基地

文章浏览阅读2.6k次。文章目录HDP WARN ipc.Client: Exception encountered while connecting to the server : org.apache.hadoop.securikinit: Keytab contains no suitable keys for [email protected] while getting initial credentials原因:可能导致问题:解决方案:测试验证:HDP WARN ipc.Client: Exception encount_keytab contains no suitable keys for [email protected] while getting init

php7 phpize,安装phpize7.3-程序员宅基地

文章浏览阅读646次。1,背景在现有的ubuntu16.04中,装了好几个版本的PHP/etc/php/5.6/ 7.0/ 7.1/ 7.2/ 7.3/whereis phpphp: /usr/bin/php7.3 /usr/bin/php7.0 /usr/bin/php /usr/lib/php /etc/php /usr/include/php/usr/share/php7.3-bcmath /usr/share/..._php7.3 phpize

Mycat高可用负载均衡集群的实现(HAProxy + Keepalived + Mycat)_服务不可用了以后,keepalived会告诉haproxy不再往上转发了吗-程序员宅基地

文章浏览阅读639次。转载请注明出处:http://blog.csdn.net/l1028386804/article/details/76397064本文是在博文《Mycat之——Mycat集群部署(基于HAProxy + Mycat)》的基础上,实现高可用负载均衡,若还没有阅读博文《Mycat之——Mycat集群部署(基于HAProxy + Mycat)》,请先阅读博文《Mycat之——Mycat集群部署(基于..._服务不可用了以后,keepalived会告诉haproxy不再往上转发了吗

Flex 跨域访问解决方案_"<cross-domain-policy> <allow-access-from domain=\-程序员宅基地

文章浏览阅读108次。想让swf 文件在一台服务器上运行并且能够访问另一台服务器上的资源,这时就会遇到跨域问题,请看下面的解决方案。 写一个名字为 crossdomain.xml 的XML文件,这个方法是允许任何Flash都可以调用,放到被调用文件的网站根目录下:view plaincopy to clipboardprint?&lt;?xml version="1.0"?&gt; &lt;!DOCTYPE..._"

Java异常执行顺序(9/5/2018)_java的异常抛出顺序-程序员宅基地

文章浏览阅读722次。public class ExceptionDemo { public static void main(String[] args) throws TestException { try { Test(); System.out.println("无论如何都不执行"); } catch (T..._java的异常抛出顺序

推荐文章

热门文章

相关标签