Class.isAssignableFrom与instanceof的区别
isAssignableFrom
假设有两个类Class1和Class2。 Class1.isAssignableFrom(Class2)
表示:
- 类Class1和Class2是否相同。
- Class1是否是Class2的父类或接口
调用者和参数都是java.lang.Class类型。
instanceof
用来判断一个对象是否是一个类及其子类或接口及其子接口的的实例。
格式:object instanceof TypeName
第一个参数是对象实例名,第二个参数是具体的类名或接口名
举例
public class TestCase {
public static void main(String[] args) {
TestCase test = new TestCase();
test.testIsAssignedFrom1();
test.testIsAssignedFrom2();
test.testIsAssignedFrom3();
test.testInstanceOf1();
test.testInstanceOf2();
}
public void testIsAssignedFrom1() {
System.out.println(String.class.isAssignableFrom(Object.class));
}
public void testIsAssignedFrom2() {
System.out.println(Object.class.isAssignableFrom(Object.class));
}
public void testIsAssignedFrom3() {
System.out.println(Object.class.isAssignableFrom(String.class));
}
public void testInstanceOf1() {
String ss = "";
System.out.println(ss instanceof Object);
}
public void testInstanceOf2() {
Object o = new Object();
System.out.println(o instanceof Object);
}
}
打印结果:
false
true
true
true
true
参考连接:
https://lucky16.iteye.com/blog/1631253
Class.isAssignableFrom与instanceof的区别的更多相关文章
- isAssignableFrom与instanceof的区别
1.isAssignableFrom针对的是class对象: 2.instanceof是实例. isAssignableFrom是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的 ...
- instanceof和isInstance(Object obj) 和isAssignableFrom(Class cls)的区别和联系
instanceof和isInstance(Object obj) 和isAssignableFrom(Class cls)的区别和联系 编程的时候可能会遇到一个不知道它属于哪个类的 ...
- call()与apply()区别typeof和instanceof的区别
摘自 http://www.cnblogs.com/qzsonline/archive/2013/03/05/2944367.html 一.方法的定义 call方法: 语法:call(thisObj, ...
- 类方法 isAssignableFrom、instanceof 和 asSubclass
类方法 isAssignableFrom.instanceof 和 asSubclass Spring 框架 CollectionFactory 的 asEnumType 方法使用 "类.a ...
- typeof()和instanceof()用法区别
typeof()和instanceof()用法区别: 两者都是用来判断数据类型的 typeof()是能用来判断是不是属于五大类型Boolean,Number,String,Null,Undefined ...
- typeof和instanceof的区别
typeof和instanceof的区别: typeof typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型.它返回值是一个字符串,该字符串说明运算数的类型.typeof 一般只能 ...
- instanceof,isinstance,isAssignableFrom,asSubclass的区别
1,isAssignableFrom():是字节码对象的方法 是用来判断一个类的字节码对象和另一个类的字节码对象是否相同或是子类或接口. assignable英 [ə,sainəbl]美 [ə,sai ...
- isAssignableFrom与instanceof
isAssignableFrom()方法与instanceof关键字的区别总结为以下两个点: isAssignableFrom()方法是从类继承的角度去判断,instanceof关键字是从实例继承的角 ...
- JS中typeof与instanceof的区别
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: Typeof typeof 是一个一元运算,放在一个运算数之前 ...
随机推荐
- [Swift]LeetCode813. 最大平均值和的分组 | Largest Sum of Averages
We partition a row of numbers A into at most K adjacent (non-empty) groups, then our score is the su ...
- 别再说Python没有枚举类型了,好好看看
枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. Python 的原生类型(Built-in types)里并没有专门的枚举类型,但是我们可以通 ...
- github pages绑定域名
网上很多人问 github 绑定域名要不要备案,很多人的回答是: 国内主机需要备案,国外主机不用 这个说法是没错的,但是却没有直接回答出 github pages 是否需要备案! 首先声明 githu ...
- Python内置函数(59)——sorted
英文文档: sorted(iterable[, key][, reverse]) Return a new sorted list from the items in iterable. Has tw ...
- BBS论坛(三)
3.1.cms用户名渲染和注销功能实现 显示登录的用户名 (1)app/cms/hooks.py from .views import bp import config from flask impo ...
- 上下div高度动态自适应--另类处理方案
这段时间在工作中遇到一个看似较为棘手的问题.问题描述:查询报表页面分为上下两部分,上部分为条件输入区域,下部分为报表展示区域.客户要求做到默认满屏(但要动态适应不同的窗体大小,也就是浏览器窗体用户会手 ...
- 说一说MVC的CSRF(三)
用途:防止CSRF(跨网站请求伪造). 用法:在View->Form表单中:<%:Html.AntiForgeryToken()%> 在Controller->Action动作 ...
- 『2019/3/8 USACO测试 反思与总结』
2019/3/8 USACO测试 这一次是到高中的第一次考试,考得不太好,原因有很多. 先看一下试题安排: 题号 试题分组 考察算法 思维难度 代码难度 1 金组\(T1\) 建图+最短路 ★★★ ★ ...
- IdentityServer4实战 - 必须使用HTTPS问题解析
一. 前言 关于必须使用HTTPS这个问题,很多朋友都在群里问到了,不过由于这个问题很简单,一直也没通过文章的方式记录下来,今日有时间,便说说它的前因后果吧,给需要的人解惑~. 二. 问题发生 本文所 ...
- 精读《Scheduling in React》
1. 引言 这次介绍的文章是 scheduling-in-react,简单来说就是 React 的调度系统,为了得到更顺滑的用户体验. 毕竟前端做到最后,都是体验优化,前端带给用户的价值核心就在于此. ...