【发布时间】:2012-09-06 09:03:34
【问题描述】:
当我编译并运行这段代码时:
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 吗?
【问题讨论】:
-
类似的谜题;
x + 0 != x是什么时候?顺便说一句,您希望+具有更高的优先级。 -
顺便说一句:当 java 打印 true 而不是
true 时,您可能会变得可疑 -
我认为标题有点误导,除非这是 Java Quantum Edition 并且
instanceof返回了一个 quboolean。 -
@Peter - 当 X 是 double/float NaN 或任何字符串时。
-
你必须使用Java,薛定谔版
标签: java instanceof