当我编译并运行此代码时:

public class Testing {
    public static void main(String... args) {
        Object obj = null;
        if (obj instanceof Object) {
            System.out.println("returned true");
        } else {
            System.out.println("returned false");
        }
        System.out.println(" " + obj instanceof Object);
    }
}

我在命令行上得到这个:
C:\Users\xxxxxx\Desktop>java Testing
returned false
true

不应该“null instanceof someType”总是返回false?

最佳答案

这个:

" " + obj instanceof Object

评估为:
(" " + obj ) instanceof Object

" " + obj确实是一个非空字符串,它是Object的一个实例。

关于java - Java-null instanceof对象的评估结果为true和false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12296554/

10-12 21:06