クラス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のみであると確信しているためです。
しかし、2つの参照が同じ種類のオブジェクトを指していることを確認したい場合はどうなりますか?
だから次のようなもの:
if(obj1 instanceof obj2)
<do something>
しかしもちろん構文は間違っています.1000のif-elseなしでこれをチェックする方法は?