Android知识基础知识

instanceof与isAssignableFrom的区别

2016-08-03  本文已影响950人  aliex

instanceof 用来判断一个对象实例obj是否是另一个类或接口的实例;

格式是:

obj instanceof ClassName

第一个参数是实例对象,第二个参数是类名;

isAssignableFrom 用来判断一个类Class1是否与另一个类Class2相同,或者Class1是否是Class2的超类或接口;

格式是:

Class1.isAssignableFrom(Class2);

第一个参数是类对象,第二个参数也是类对象;

如何调用呢,例子如下:

Class parent = java.io.InputStream.class;

Class child = java.io.FileInputStream.class;

System.out.println(parent.isAssignableFrom(child));

System.out.println(child.isAssignableFrom(parent));

输出结果是:

true

false

由此可以知道,

instanceof是子->父的过程;

isAssignableFrom是父->子的过程。

文章版权为朗度云所有,转载必须声明出处,否则保留追究法律责任。

上一篇 下一篇

猜你喜欢

热点阅读