当我编译并运行这段代码时:
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吗?
发布于 2012-09-06 17:04:42
这一点:
" " + obj instanceof Object
评估结果为:
(" " + obj ) instanceof Object
" " + obj
确实是一个非空字符串,它是Object
的一个实例。
发布于 2012-09-06 17:06:35
在最后一个System.out.println
中,首先计算" " + obj
,然后检查结果(即String
)中的instanceof Object
,并打印结果。
https://stackoverflow.com/questions/12296554
复制相似问题