5.7.3 instanceof运算符
5.7.3 instanceof运算符
instanceof运算符的前一个操作数通常是一个引用类型变量,后一个操作数通常是一个类(也可以是接口,可以把接口理解成一种特殊的类),它用于**判断前面的对象是否是后面的类,或者其子类、实现类的实例**。如果是,则返回true,否则返回false.
instanceof前面的引用变量的编译时类型要与后面的类相同或者有继承关系
在使用instanceof运算符时需要注意:
instanceof运算符前面操作数的编译时类型要么与后面的类相同,- 要么与后面的类
具有父子继承关系, - 否则会引起
编译错误。
instanceof的前面的引用变量的运行时类型决定返回true或flase
如果instanceof前面的引用变量的运行时类型和后面的类一样,或者是后面类的子类,则返回true.
instanceof运算符的作用
instanceof运算符的作用是:在进行强制类型转换之前,首先判断前一个对象是否是后一个类的实例,是否可以成功转换,从而保证代码更加健壮.
先用instanceof判断再强制类型装换
instanceof和(type)是Java提供的两个相关的运算符,通常先用instanceof判断一个对象是否可以强制类型转换,然后再使用(type)运算符进行强制类型转换,从而保证程序不会出现错误。
实例
1 | public class InstanceofTest { |
1 | true |