instanceof isInstance isAssignableFrom 比较
instanceof : java 的关键字 判断一个 实例对象 是不是 可以赋值 给一个 class( 实例对象是不是 class 或者 subClass 的实现 ),表示的类和对象之间的关系。
System.out.println( user instanceof User );
System.out.println( user instanceof Object );
System.out.println( new Object() instanceof User );
结果:
true
true
false
isInstance:和上面一个一样 只是 一个是关键字 一个是方法,表示的类和对象之间的关系。
System.out.println( User.class.isInstance( user ) );
System.out.println( Object.class.isInstance( user ) );
System.out.println( User.class.isInstance( new Object() ) );
结果:
true
true
false
isAssignableFrom:方法 ,这个和上面2 个不一样,上面两个是判断的 对象和 类之间的关系,这个是判断的类和类之间的关系。表示 一个类 的实例是否可以赋值给前面的 类。
System.out.println( User.class.isAssignableFrom( User.class ) );
System.out.println( Object.class.isAssignableFrom( User.class ) );
System.out.println( User.class.isAssignableFrom( Object.class ) );
结果:
true
true
false
instanceof isInstance isAssignableFrom 比较的更多相关文章
- instanceof, isinstance,isAssignableFrom的区别
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化.如果被测对象是null值,则测试结果总是false. 形象地:自身实例或子类实例 instanc ...
- instanceof 与isAssignableFrom
instanceof 针对实例 isAssignableFrom针对class对象 isAssignableFrom 是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或 ...
- Class中isAssignableFrom() 方法
看Spring源码的时候看到这个方法: protected WebApplicationContext createWebApplicationContext(ServletContext sc) { ...
- Java 编程思想 Chapter_14 类型信息
本章内容绕不开一个名词:RTTI(Run-time Type Identification) 运行时期的类型识别 知乎上有人推断作者是从C++中引入这个概念的,反正也无所谓,理解并能串联本章知识才是最 ...
- ApplicationEvent事件机制源码分析
<spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情> <服务网关zu ...
- java变参
java变参是通过数组来实现的 Object[] addAll(Object[] array1, Object... array2)和Object[] addAll(Object[] array1, ...
- instanceof & isAssignableFrom的异同
instance 关注的是实例是否为类或接口的一个实例 isAssignableFrom 关注的是Class对象是否相同,或者Class1是Class2的超类或接口 Class1.isAssignab ...
- Spring类型转换(Converter)
Spring的类型转换 以前在面试中就有被问到关于spring数据绑定方面的问题,当时对它一直只是朦朦胧胧的概念,最近稍微闲下来有时间看了一下其中数据转换相关的内容,把相应的内容做个记录. 下面先说明 ...
- Java推断类和实例的关系
通常我们使用instanceOf关键字来推断一个对象是否是类的实例,近期博主看到isInstance关键字,不解与instanceOf的差别,故度娘了一下,顺便涨了一下姿势. Java中推 ...
随机推荐
- java.lang.String 使用介绍
这里我们将总结字符串相关的知识,除了总结String的API用法,同时我们还会总结一些相关的知识点,包括字符串常量池.StringBuffer.StringBuilder,以及equals和==的用法 ...
- python 时间戳转换格式
1.简介 在编写代码时,往往涉及时间.日期.时间戳的相互转换. 2.示例 # 引入模块 import time, datetime 2.1 str类型的日期转换为时间戳 1 # 字符类型的时间 2 t ...
- Python Algorithms – chapter2 基础知识
一.渐进记法 三个重要的记号 Ο.Ω.Θ,Ο记法表示渐进上界,Ω记法表示渐进下界,Θ记法同时提供了函数的上下界 几种常见的渐进运行时间实例 三种重要情况 最好的情况,最坏的情况,平均情况 最坏的情况通 ...
- 自动化测试-21.RobotFrameWork配置安装
更新pip python -m pip install --upgrade pip 1安装robotframework --pip install robotframework 2. 安装支持框架的运 ...
- OAuth和OpenID的区别
OAuth关注的是authorization:而OpenID侧重的是authentication.从表面上看,这两个英文单词很容易混淆,但实际上,它们的含义有本质的区别: authorization: ...
- mysql 数据查询全讲
数据查询 涉及到DQL(Data Query Language)是sql语句的一类 本文全面介绍了mysql下 select 语句的各种查询方式:普通查询,模糊查询,查询排序,分页查询,聚合函数查询 ...
- IDEA激活
https://blog.csdn.net/qq_34273222/article/details/78810799 目测这个服务器可用:http://idea.iteblog.com/key.php
- parson json解析
最近交互数据中用到JSON数据,很多年以前用过CJSON解析和生成JSON数据,貌似CJSON已经发展成为了libjson,本打算用libjson库,不过其提供的解析JSON方式采用了回调,是测试过程 ...
- CF449 (Div. 1简单题解)
A .Jzzhu and Chocolate pro:现在给定一个大小为N*M的巧克力,让你横着或者竖着切K刀,都是切的整数大小,而且不能切在相同的地方,求最大化其中最小的块. (N,M,K<1 ...
- MAC使用mysql报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
遇到这种错误,需要重置密码. Step1:停止mysql,命令如下: $ sudo service mysql stop 或者是 $ sudo /usr/local/mysql/support-fil ...