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 运算符通常用于在运行时进行类型检查,以确保在进行类型转换之前不会出现类型错误。