判断类与实例的关系有以下三种方式
1、instanceOf 运算符,用来判断对象是否是类的实例
2、isInstance 方法,用来判断对象是否属于某个类型的实例
3、isAssignableFrom 方法,用来判断类型间是否存在派生关系
A) instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false
形象地:自身实例或子类实例 instanceof 自身类 返回true
例:
String s=new String("javaisland");
System.out.println(s instanceof String); //true
B) 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
C) 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
分享到:
相关推荐
1. instanceof关键字 2. isInstance()方法 3. instanceof,isInstance,isAssignableFrom区别是什
下面小编就为大家带来一篇详谈Java中instanceof和isInstance的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JS中typeof与instanceof的区别
JS:typeof instanceof constructor prototype区别
本文是对JS中typeof与instanceof之间的区别进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
JS中typeof与instanceof之间的区别总结.docx
介绍了java final 和instanceof 关键字的区别,有需要的朋友可以参考一下
ES5的instanceof手写实现
15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof...
因为在项目中遇到了instanceof,因此总结了对instanceof关键字的理解,有需要的可以下载来看看。
instanceof使用详细说明 最详细的 不看后悔的
实际上,在一个Web应用程序的执行期间,PHP 5提供给开发者至少两种方法来检查对象类型——它们分别是“instanceof”操作符和“类型提示”特征。现在转到本文的主题,我将介绍PHP 5中\\\"instanceof\\\"操作符的使用...
instanceof 马克-to-win java视频的详细的描述介绍
为什么结果会是false呢? 代码如下: [removed] var aColors = [... [removed] 你要区分string 与 String的区别 aColors[0] 是 string值类型, 当然不是String的实例啦。参考下面代码 var aColors = [“red”, “green
关于js typeof 与 instanceof 判断数据类型区别及开发使用.docx
NULL 博文链接:https://chaoyi.iteye.com/blog/2079574
那么instanceof的这种行为到底是如何实现的呢,现在让我们揭开instanceof背后的迷雾。 instanceof原理 照惯例,我们先来看一段代码: 代码如下: function Cat(){} Cat.prototype = {} function Dog(){} Dog.prototype...
向下转型和instanceof运算符的应用.pdf