Посмотрите, имеют ли два объекта один и тот же тип.

Предположим, что у меня есть класс 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?

20
задан Ramy Al Zuhouri 15 April 2012 в 14:18
поделиться