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.
Ł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);} …
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) …
Napisałem ten kod interface Foo { abcdef: number; } let x: Foo | string; if (x instanceof Foo) { // ... } Ale TypeScript dał mi ten błąd: 'Foo' only refers to a type, but is being used as a value here. Dlaczego to się dzieje? Pomyślałem, że instanceofmoże to …
Dlaczego ten kod się nie kompiluje? public boolean isOf(Class clazz, Object obj){ if(obj instanceof clazz){ return true; }else{ return false; } } Dlaczego nie mogę przekazać zmiennej klasy do instanceof?
Chciałbym wiedzieć, jak zachować się instanceofoperator w Javie. interface C {} class B {} public class A { public static void main(String args[]) { B obj = new B(); System.out.println(obj instanceof A); //Gives compiler error System.out.println(obj instanceof C); //Gives false as output } } Dlaczego tak się dzieje? Nie ma …
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ą …
Czy istnieje sposób określenia, czy obiekt jest instancją typu ogólnego? public <T> 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.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.