[英]Object universal superclass java instanceof
有人可以提供有關何時(x instancef Object)
不等於true的解釋嗎? 這是完整的問題嗎?
Object
是Java中的通用超類,它是所有其他類的超類。 但是,表達式x instanceof Object
並不總是等於true。 為x
設計一個聲明來證明這一點?
null
不是任何類的實例,因此使用instanceof
運算符返回false
:
Object x = null;
if (!x instanceof Object) {
System.out.println ("we get here since X is null");
}
顯然, 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
事實。
如果x
為null
, instanceof
將返回false
。
Java中“ obj instanceof Object”何時為假?
如果Object a=null;
然后a instanceof Object
返回false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.