Java中如何运用instanceof关键字进行类型检查及具体实现技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1854个文字,预计阅读时间需要8分钟。
instanceof是Java中的一个双目运算符,用于测试一个对象是否为某个类的实例。用法为:boolean result=obj instanceof Class,其中obj为一个对象,Class表示一个类或接口。当obj是Class的一个实例或其子类实例时,结果为true。
instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:
boolean result = obj instanceof Class
其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。
注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。
1、obj 必须为引用类型,不能是基本类型
int i = 0; System.out.println(i instanceof Integer);//编译不通过 System.out.println(i instanceof Object);//编译不通过
instanceof 运算符只能用作对象的判断。
本文共计1854个文字,预计阅读时间需要8分钟。
instanceof是Java中的一个双目运算符,用于测试一个对象是否为某个类的实例。用法为:boolean result=obj instanceof Class,其中obj为一个对象,Class表示一个类或接口。当obj是Class的一个实例或其子类实例时,结果为true。
instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:
boolean result = obj instanceof Class
其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。
注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。
1、obj 必须为引用类型,不能是基本类型
int i = 0; System.out.println(i instanceof Integer);//编译不通过 System.out.println(i instanceof Object);//编译不通过
instanceof 运算符只能用作对象的判断。

