instanceof 是干什么的?

参考解答

语法:

对象 instanceof 类型

有两层含义:

  1. 如果对象为null,直接返回false
  2. 如果对象可以被赋值给右边类型时,返回true,否则返回false (即检查对象 is a 类型)

例:

class Animal{}
class Cat extends Animal{}
class Dog extends Animal{}

static void check(Object o) {
  System.out.println(o instanceof Dog); 
  System.out.println(o instanceof Animal); 
  System.out.println(o instanceof Object); 
  System.out.println(o instanceof Cat);
}

check(null) 输出:

false
false
false
false

check(new Dog()) 输出:

true
true
true
false

check(new Animal()) 输出:

false
true
true
false

results matching ""

    No results matching ""