区别:isInstance是instanceof的动态实现
1、class.isInstance(obj)
** @param obj the object to check
* @return true if {@code obj} is an instance of this class
*
* @since JDK1.1
*/
public native boolean isInstance(Object obj);
用于判断对象obj是否是类class的一个实例对象,是instanceof的动态实现(编译器在运行时才执行),可用于反射、泛型中。
1、一个对象能转化为自身类的对象
2、一个对象能被转化为自身类的父类和实现的接口的对象
3、所有对象都能转化为Object类的对象
4、凡是null有关的都是false
2、obj.instanceof(class)
用于判断对象obj是否是class类或其子类的对象
1、一个对象是自身类的一个对象
2一个对象是自身类父类和接口的一个对象
3、所有对象都是Object类的对象
4、凡是null有关的都是false