instanceof用法,java中的instanceof关键字
一、instanceof是什么意思
你好,这个关键字的用法是:AinstanceofB,返回值为boolean类型,用来判断A是否是B的实例对象或者B子类的实例对象。如果是则返回true,否则返回false。如:Personp=newPerson();//Manm=newMan();//Man是Person的子类Animala=newAnimal();minstanceofMan//返回trueminstanceofAnimal//返回falseminstanceofPerson//返回true
二、instanceof代表什么
instanceof是Java、php的一个二元操作符(运算符),和==,>,<是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。可以用来判断继承中的子类的实例是否为父类的实现。相当于c#中的is操作符。java中的instanceof是通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
三、Java中使用instanceof判断类型时,是否需要先进行null值判断
答案是不需要,在调用instanceof之前不需进行null值判断,为什么呢?
我们来看jdk文档中的说明
Atruntime,theresultoftheinstanceofoperatoristrueifthevalueoftheRelationalExpressionisnotnullandthereferencecouldbecast(§15.16)totheReferenceTypewithoutraisingaClassCastException.Otherwisetheresultisfalse。
在运行时,只有当引用值不是null并且能够强转不抛类转换异常则返回true,否则返回false。
那么定义
Objecta=null;
ainstanceofInteger返回false。