首页 > instanceof, isinstance,isAssignableFrom的区别

instanceof, isinstance,isAssignableFrom的区别

instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。 

形象地:自身实例或子类实例 instanceof 自身类  返回true 

例: String s=new String("javaisland"); 

      System.out.println(s instanceof String); //true 



Class类的isInstance(Object obj)方法,obj是被测试的对象,如果obj是调用这个方法的class或接口 的实例,则返回true。这个方法是instanceof运算符的动态等价。 

形象地:自身类.class.isInstance(自身实例或子类实例)  返回true 

例:String s=new String("javaisland"); 

      System.out.println(String.class.isInstance(s)); //true 



Class类的isAssignableFrom(Class cls)方法,如果调用这个方法的class或接口 与 参数cls表示的类或接口相同,或者是参数cls表示的类或接口的父类,则返回true。 

形象地:自身类.class.isAssignableFrom(自身类或子类.class)  返回true 

例:System.out.println(ArrayList.class.isAssignableFrom(Object.class));  //false 

      System.out.println(Object.class.isAssignableFrom(ArrayList.class));  //true

转载于:https://www.cnblogs.com/toSeeMyDream/p/6224000.html

更多相关:

  • 编按:哈喽,大家好!说到将excel中的数据进行排名,大家首先想到就是rank函数,但如果说要按条件对数据进行排名呢?小伙伴们是不是一下子就蒙圈了,似乎还没有听说过按条件进行排名的函数。那么今天,老菜鸟就给大家分享一个在excel中按条件进行排名的公式套路,一起来看看吧!*********​在Excel的函数中,有按条件求和的SUMI...

  • #mysql.properties jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&autoReconnect=true&failOverReadOnly=false&user=...

  •     在conf/server.xml里面找到: …… 在前插入::

  •   CORS全称Cross-Origin Resource Sharing, 跨域资源共享,是HTML5的一个新特性,已被所有浏览器支持,不同于古老的jsonp只能get请求。 检测方式:   1.curl访问网站     curl https://www.huasec.com -H "Origin: https://test.co...

  • 解决方案:   driver中增加以下2行配置:   "unicodeKeyboard":True, #unicode编码输入   "resetKeyboard":True #隐藏软键盘 转载于:https://www.cnblogs.com/Inbreeze/p/9828568.html...

  • 本文概要: 1、首先给出结论是:除了几种特殊情况外,在读取实例变量的时候采用直接访问的形式,而在设置实例变量的时候通过属性来做。 2、讲解了使用getter、setter的好处。 3、列举了几种上面提到的特殊情况:有时不能使用setter、有时必须使用setter、有时必须使用getter。 注意:在对象之外访问实例变量时总是应该通过...

  • 一、前言                               avalon.js的影响力愈发强劲,而作为子模块之一的mmDeferred必然成为异步调用模式学习之旅的又一站呢!本文将记录我对mmDeferred的认识,若有纰漏请各位指正,谢谢。项目请见:mmDeferred@github   二、API说明          ...

  •     在网上看到的这道题,答案是3次。因此a和b[2]实例化三次对象,就调用了三次构造方法,而*p[2]只定义了指针,并未实例化对象,所以不调用构造方法。  转载于:https://blog.51cto.com/sydugu/1553403...