Java 中 instanceof 的含义

Meaning of instanceof in Java

我写了下面的程序,但我无法理解输出。

public class Test {

    public static void main(String[] args) {
        int[] a = new int[5];
        System.out.println(a instanceof Object);
    }

}

它会输出True。 instanceof检查左边的是否来自instanceof右边的class。每个 class 都是 Java 中对象 class 的子 class,所以这里它的计算结果为真。

数组,即使它们是基元数组,也是对象,所以程序输出 true

除了检查 class 赋值外,instanceof 还会检查左侧的超类。

在你的例子中,Array extends Object 是一个 instanceof Object