instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:
boolean result = obj instanceof Class ;
其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。
注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。
1. obj 必须为引用类型,不能是基本类型;
2. obj 为 null , 返回 false ;
3. obj 为 class 类的实例对象 ;
4. obj 为 class 接口的实现类 ;
5. obj 为 class 类的直接或间接子类 ;
6. 如果 obj 不为 null 并且 (T) obj 不抛 ClassCastException 异常则该表达式值为 true ,否则值为 false 。
本文详细解析了Java中的instanceof运算符的使用方法及其特性。instanceof用于判断一个对象是否为特定类的实例,或是其子类或实现的接口。文章强调了运算符的几个关键点,包括对null值的处理、类型转换异常的捕获以及编译器的类型检查机制。
358

被折叠的 条评论
为什么被折叠?



