instanceof 是干什么的?
参考解答
语法:
对象 instanceof 类型
有两层含义:
- 如果对象为null,直接返回false
- 如果对象可以被赋值给右边类型时,返回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