java关键字instanceof

  • 时间:
  • 浏览:
  • 来源:互联网

目录

  • 1. 定义:
  • 2.使用规范
  • 3.使用注意事项
    • 3.1 obj为null时.
    • 3.2 obj为类或者接口的实例对象时
    • 3.3 obj为子类或者间接子类时
  • 4.注意

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检测更为保险。

本文链接http://element-ui.cn/article/show-220238.aspx