博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断对象是否为某个类的多种语言实现总结
阅读量:6088 次
发布时间:2019-06-20

本文共 981 字,大约阅读时间需要 3 分钟。

JavaScript

 

1 var a = [1, 2, 3];2 3 alert(a instanceof Array);  //返回true4 alert(a instanceof Object);  //返回true5  6 alert(a.constructor == Array);  //返回true7 alert(a.constructor == Object);  //返回false

 

 

 

constructor 严格比较对象所属的类与参考类是否相同,instanceof在对象所属的类与参考类不同情况下会比较对象所属的类与参考类的父类是否相同,若相同也返回true。

 

Java

instanceof
运算符只被用于对象引用变量,检查左边的被测试对象是不是右边类或接口的实例化。如果被测对象是null值,则测试结果总是false。
     
String str = new String("测试"); System.out.println(str instanceof String);       //输出true。
isInstance(Object obj)
obj是被测试的对象,如果obj是调用这个方法的class或接口的实例,则返回true。
      
String str = new String("测试");System.out.println(String.class.isInstance(str));      //输出true。
isAssignableFrom(Class cls)
如果调用这个方法的class或接口与参数cls表示的类或接口相同,或者是参数cls表示的类或接口的父类,则返回true。
     
System.out.println(String.class.isAssignableFrom(Object.class));   System.out.println(Object.class.isAssignableFrom(String.class));       //其中第一个输出false,第二个输出true。

 

Python

isinstance(s, myclass)//s是对象名,myclass是类名

 

 

参考:

转载于:https://www.cnblogs.com/bianxirui/p/4466431.html

你可能感兴趣的文章
厚积薄发,拥抱 .NET 2016
查看>>
SQL2000 2005 破解函数,过程,触发器,视图
查看>>
美味辣子炒鸡
查看>>
开发可统计单词个数的Android驱动程序(2)
查看>>
一次向svn中增加所有新增文件 svn add all new files【转】
查看>>
Ubuntu 14.04配置LAMP(Linux、Apache、MySQL、PHP)
查看>>
字符串数组连接例子(原创)
查看>>
Linux设备驱动之Ioctl控制【转】
查看>>
Winform文件下载之断点续传
查看>>
TCP三次握手
查看>>
ABP理论学习之Web API控制器(新增)
查看>>
栈的应用之判断括号匹配
查看>>
让工具类不可实例化
查看>>
EntityFramework Core 1.1是如何创建DbContext实例的呢?
查看>>
iOS开发-NSPredicate
查看>>
MVC模式与struts框架
查看>>
Linux系统的中断、系统调用和调度概述【转】
查看>>
人月神话-人月:项目滞后的原因分析
查看>>
linux驱动学习(二) Makefile高级【转】
查看>>
通过QC远程运行QTP脚本,QTP自动崩溃关闭的解决方法
查看>>