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