instanceof
是 Java 中的一个运算符,用于检查一个对象是否是某个类的实例,或者是否是该类的子类的实例。它的语法形式为:
object instanceof Class
其中,object
是要检查的对象,Class
是要检查的类名或接口名。
如果 object
是 Class
的实例,或者是 Class
的子类的实例,则 instanceof
运算符返回 true
;否则返回 false
。
class Animal {}
class Dog extends Animal {}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
System.out.println(animal instanceof Animal); // true
System.out.println(animal instanceof Dog); // true
System.out.println(animal instanceof Object); // true
}
}
在示例中,animal
是 Animal
类型的引用,指向一个 Dog
对象。因此,animal instanceof Animal
返回 true
,表示 animal
是 Animal
类的实例;animal instanceof Dog
也返回 true
,表示 animal
是 Dog
类的实例;animal instanceof Object
返回 true
,因为所有类都是 Object
类的子类。
instanceof
运算符通常用于在运行时进行类型检查,以确保在进行类型转换之前不会出现类型错误。