instanceof与isAssignableFrom的区别

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

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 用来判断一个类是否是另一个类的 接口和父类

上一篇:pandas dataframe多层索引取值


下一篇:CSS 权重图