Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
来源:互联网 发布:bt29万能钥匙下载软件 编辑:程序博客网 时间:2024/06/05 03:30
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
- hive 复制整段语句是出现 Display all 475 possibilities? (y or n)错误的处理方法
- theano中训练方法和模型的一些写法
- c++primer第四章表达式小结-4
- 类的高级概念
- CentOS7 yum提示:another app is currently holding the yum lock;waiting for it to exit
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- poj 2785 4 Values whose Sum is 0 (二分)
- 多线程中this.getName()和Thread.currentThread().getName()返回名字不一样的问题
- tomcat性能优化
- Kali Linux 无线渗透测试入门指南 第十章 WPS 和 探针
- jav继承--类的高级概念
- Field的getModifiers()方法返回int类型值表示该字段的修饰符
- 汉诺塔
- 观察者模式(Observer)