Gibt es irgendetwas Kniffliges, das ich wissen sollte über instanceof
? Ich übergebe eine Liste von Objekten durch einige Methoden und teste, ob diese Objekte eine bestimmte Schnittstelle implementieren, indem ich instanceof
. In einigen Fällen, instanceof
Objekte korrekt als Implementierung der Schnittstelle identifiziert, in anderen Fällen jedoch nicht. Es scheint mir widersprüchliche Ergebnisse für dasselbe Objekt an verschiedenen Stellen zu liefern. Gibt es einen Trick/Gotcha, den ich hier beachten sollte?
In Erwartung von Kommentaren, die Sie vielleicht haben:
1) Ich weiß instanceof
ist schlechtes Benehmen. Ich arbeite mit einer nicht ganz perfekten Objekthierarchie, die nicht geändert werden kann, und das ist die am wenigsten schlechte Sache, die ich mir vorstellen kann.
2) Ich arbeite daran, ein Codebeispiel zu erstellen, aber ich muss meinen Code stark vereinfachen, wenn ich hier etwas Nützliches einfügen will. In der Zwischenzeit, wenn Sie dies gesehen haben, bevor und kann etwas Licht, bitte tun.