我认为官方文档为您提供了答案(尽管以一种非常具体的方式):
此方法与Java语言instanceof运算符动态等效。
我认为这
isInstance()主要是指在运行时处理类型反射的代码中使用。特别是,我想说它的存在是为了处理您可能不事先知道要检查其成员资格的类的类型的情况(尽管这些情况可能很少)。
例如,您可以使用它编写一种方法来检查两个任意类型的对象是否兼容分配,例如:
public boolean areObjectsAssignable(Object left, Object right) { return left.getClass().isInstance(right);}通常,我想说的是,
instanceof只要您知道要预先检查的类的种类,就应该首选使用。在极少数情况下您不使用它,请
isInstance()改用。



