Pytania otagowane jako instanceof

instanceof jest operatorem dostępnym w niektórych językach obiektowych, w tym w Javie, PHP i JavaScript. Mówiąc ogólnie, pozwala programiście sprawdzić, czy obiekt przekazany jako jego lewy operand jest instancją klasy określonej przez prawy operand.

9
Unikanie wystąpienia w Javie
Łańcuch operacji „instanceof” jest uważany za „zapach kodu”. Standardowa odpowiedź brzmi „użyj polimorfizmu”. Jak bym to zrobił w tym przypadku? Istnieje wiele podklas klasy bazowej; żaden z nich nie jest pod moją kontrolą. Analogiczna sytuacja miałaby miejsce w przypadku klas Java Integer, Double, BigDecimal itp. if (obj instanceof Integer) {NumberStuff.handle((Integer)obj);} …

6
Jak sprawdzić, czy obiekt jest tablicą bez użycia odbicia?
Jak sprawdzić w Javie, czy obiekt jest tablicą bez użycia odbicia? Jak mogę iterować przez wszystkie elementy bez używania refleksji? Używam Google GWT, więc nie mogę używać odbicia :( Bardzo chciałbym zaimplementować następujące metody bez użycia refelekcji: private boolean isArray(final Object obj) { //??.. } private String toString(final Object arrayObject) …
99 java  arrays  gwt  instanceof 




7
Czy w Javie jest coś takiego jak instanceOf (Class <?> C)?
Chcę sprawdzić, czy obiekt ojest instancją klasy Club podklasy klasy C. Na przykład, jeśli pjest z klasy, Pointto chcę x.instanceOf(Point.class)być truei też x.instanceOf(Object.class)być true. Chcę, aby działało również dla pudełkowych typów pierwotnych. Na przykład, jeśli xjest, Integerto x.instanceOf(Integer.class)powinno być true. Czy jest coś takiego? Jeśli nie, jak mogę wdrożyć taką …


6
Sprawdź, czy obiekt jest wystąpieniem typu parametru
Czy istnieje sposób określenia, czy obiekt jest instancją typu ogólnego? public &lt;T&gt; test(Object obj) { if (obj instanceof T) { ... } } To oczywiście nie działa. Czy jest alternatywa? Tak jak chcę użyć odbicia Java, aby utworzyć wystąpienie klasy, a następnie sprawdzić, czy jest to typ ogólny T.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.