使用场景区别
1、instanceof 用来判断一个对象实例obj是否是另一个类或接口的实例。格式是:
obj instanceof ClassName //第一个参数是实例对象,第二个参数是类名。
2、isAssignableFrom 用来判断一个类Class1是否与另一个类Class2相同,或者Class1是否是Class2的超类或接口。格式是:
Class1.isAssignableFrom(Class2); //第一个参数是类对象,第二个参数也是类对象。
总结
instanceof 是子->父的过程;
isAssignableFrom 是父->子的过程
代码案例
package com;
public class BaseTest {
public static void main(String[] args){
boolean assignableFrom = Father.class.isAssignableFrom(Son.class);
System.out.println("assignableFrom:"+ assignableFrom);
if(new Son() instanceof Father){
System.out.println("instaceof 测试");
}
}
}
class Father{
}
class Son extends Father{
}
执行结果:
本文暂时没有评论,来添加一个吧(●'◡'●)