有人可以提供(x instancef Object)
不等于何时的解释吗?这是完整的问题?
Object
是Java中的通用超类,是所有其他类的超类。但是,表达式x instanceof Object
并不总是等于true。设计x
的声明以证明这一点?
答案 0 :(得分:3)
null
不是任何类的实例,因此会使false
运算符返回instanceof
:
Object x = null;
if (!x instanceof Object) {
System.out.println ("we get here since X is null");
}
答案 1 :(得分:1)
显然,null
答案是"正确答案"。但这是一个迂腐的选择:
public class Test {
private class Object {}
public static void main(String[] args) {
java.lang.Object s = new String("foo");
System.out.println((s instanceof Object));
}
}
打印
false
我们在此滥用Object
并不总是引用java.lang.Object
的事实。
答案 2 :(得分:0)
如果x
为null
,则instanceof
将返回false
。
答案 3 :(得分:-1)
重复When is “obj instanceof Object” false in Java?
如果Object a=null;
,则a instanceof Object
会返回false