Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
来源:互联网 发布:des算法c 编辑:程序博客网 时间:2024/06/05 00:44
(http://sunnylocus.iteye.com/blog/555676)
原地址:http://topic.csdn.net/t/20050127/15/3758173.html
我略作了下修改
Class.isAssignableFrom()是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的子类或接口。
格式为:
Class1.isAssignableFrom(Class2)
调用者和参数都是java.lang.Class类型。
而instanceof是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。
格式是:o instanceof TypeName
第一个参数是对象实例名,第二个参数是具体的类名或接口名,例如 String,InputStream。
package com.bill99.pattern;public class AssignableTest {public AssignableTest(String name) {}/** * 判断一个类是否是另一个类的父类 * 是打印true * 否打印false */public static void testIsAssignedFrom1() {System.out.println("String是Object的父类:"+String.class.isAssignableFrom(Object.class));}/** * 判断一个类是否是另一个类的父类 * 是打印true * 否打印false */public static void testIsAssignedFrom2() {System.out.println("Object是String的父类:"+Object.class.isAssignableFrom(String.class));}/** * 判断一个类是否和另一个类相同 * 是打印true * 否打印false */public static void testIsAssignedFrom3() {System.out.println("Object和Object相同:"+Object.class.isAssignableFrom(Object.class));}/** * 判断str是否是Object类的实例 * 是打印true * 否打印false */public static void testInstanceOf1() {String str = new String();System.out.print("str是Object的实例:");System.out.println(str instanceof Object);}/** * 判断o是否是Object类的实例 * 是打印true * 否打印false */public static void testInstanceOf2() {Object o = new Object();System.out.print("o是Object的实例:");System.out.println(o instanceof Object);}public static void main(String[] args) {testIsAssignedFrom1();testIsAssignedFrom2();testIsAssignedFrom3();testInstanceOf1();testInstanceOf2();}}
结果:
String是Object的父类:false
Object是String的父类:true
Object和Object相同:true
str是Object的实例:true
o是Object的实例:true
0 0
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- class.isassignablefrom(class clz)方法 与 instanceof
- class.isassignablefrom(class clz)方法 与 instanceof
- class.isassignablefrom(class clz)方法 与 instanceof
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字有什么区别
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字有什么区别
- [javase]class.isassignablefrom(class clz)方法 与 instanceof
- MMS 协议学习笔记
- A new blog.
- 理解物联网背后的协议 - Understanding The Protocols Behind The Internet Of Things
- JSON 解析 相关文章学习
- SVM核函数
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- ps的第一天——Ball
- Uva1347 dp好题
- UVa OJ 11572 - Unique Snowflakes
- Python 02
- Session的用户名回显--注销、Url重写、购物车
- socket连接地址相关问题
- 第三方登陆
- 深入解析Java对象的hashCode和hashCode在HashMap的底层数据结构的应用