假设我有一个类 A,并且 B、C、D 是从 A 派生的。
如果我想知道引用的对象的类型是什么,我可以声明:
// pseudo-code
if(obj instanceof B)
< is B>
else if(obj instanceof C)
< is C>
else
<is D>
这是因为我确信从 A 派生的类只有 B、C 和 D。
但是如果我只想检查两个引用是否指向同一种对象呢?
所以像:
if(obj1 instanceof obj2)
<do something>
但是当然语法是错误的。如何在没有一千个 if-else 的情况下检查这个?