public boolean isInstance(Object obj)java
断定指定的 Object 是否与此 Class 所表示的对象赋值兼容。此方法是 Java 语言 instanceof 运算符的动态等效方法。api
若是指定的 Object 参数非空,且可以在不引起 ClassCastException 的状况下被强制转换成该 Class 对象所表示的引用类型,则该方法返回 true;不然返回 false。数组
特别地,当该 Class 对象表示一个已声明的类时,若指定的 Object 参数是所表示类(或其任一子类)的一个实例,则此方法返回 true;不然返回 false。
若是此 Class 对象表示一个数组类,且经过身份转换或扩展引用转换,指定的 Object 参数能转换为一个数组类的对象,则返回 true;不然返回 false。若是此 Class 对象表示一个接口,且指定 Object 参数的类或任一超类实现了此接口,则此方法返回 true;不然返回 false。spa
若是此 Class 对象表示一个基本类型,则此方法返回 false。code
参数:对象
obj - 要检查的对象接口
返回:io
若是 obj 是此类的实例,则返回 trueast
注意红色标注部分:class
1.与 instanceof 运算符等效,只是用法有区别而已
2.obj为null,直接返回false;本方法与 强制转换 或 class.cast(Object obj) 转换结合在一块儿使用
if(Person.class.isInstance(obj)){ Person temp = Person.class.cast(obj); }
3.isInstance方法适用于对象,不适用于基本类型