当我编译并运行此代码时:
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/