java关键字instanceof

1. 定义:

instanceof 为一个双目运算符(需要两个变量),用于检测一个对象是否为一个类(或者接口)的实例.

2.使用规范

boolean result = obj instanceof ObjClass;
常用做判断.

3.使用注意事项

3.1 obj为null时.

Java中包含了2种数据类型.
第一种是基本数据类型(byte, short , int, long, double, float, boolean, char);
第二种是引用类型(类,接口,数组);
还有一种特殊的null类型,当出现obj为null时无论ObjClass为什么,结果都是false;

3.2 obj为类或者接口的实例对象时

obj instanceof ObjClass;若obj为ObjClass的一个实例对象则返回ture,否则返回false.
obj instcanceof (接口名称);若obj为接口的实现类则返回ture否则返回false;

3.3 obj为子类或者间接子类时

instanceof将在obj的继承链中找寻是否符合,算法效率与深度相关。

4.注意

instanceof一般不用来作为equals重写语句的判断条件,由于equals方法具有自反性,对称性,传递性,一致性的特点,当x为y的子类对象时,x.equals(y)虽然可能通过,但是y.equals(x)就不一定了,用getClass检测更为保险。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值