Ist eine Instanz von einem bestimmten Object Typ?

JJK3

Aktives Mitglied
Also ich hab da ein Problem, von dem ich mir sicher bin (bzw. das inbrunstig hoffe das es so ist) das es einfach zu lösen ist! Leider kenne ich die Lösung nicht 😉!
Also ich möchte wie oben steht Herausfinden ob eine Instanz von einem bestimmten Object-Typ ist!
Hier mal ein Beispiel um es zu veranschaulichen:
Java:
public void tuDinge(Object übergebenesObjekt) {
   if (übergebenesObjekt.instanceOf(Point)) {
        System.out.println("brum,knatter, Auto kaputt");
   }
}
So funktioniert es nicht! Der Compiler hält Point für eine Variable!
Java:
public void tuDinge(Object übergebenesObjekt) {
   if (übergebenesObjekt.instanceOf(Point.class)) {
        System.out.println("brum,knatter, Auto kaputt");
   }
}
Funktioniert auch nicht! Die Methode instanceOf kann class<Point> nicht annehmen!

Hoffe jemand hat eine Idee!

Danke schonmal
 
wie bist du auf die Buchstabenkombination [c]instanceOf[/c] gekommen?
hälst du es für ausgeschlossen, 'instanceof java example' in eine Suchmaschine einzutippen und von richtigen und evtl. auch einzelnen falschen Beispielen überhäuft zu werden?
 
[c]instanceof[/c] ist ein Operator, keine Methode.

Java:
public void tuDinge(Object übergebenesObjekt) {
   if (übergebenesObjekt instanceof Point) {
        System.out.println("brum,knatter, Auto kaputt");
   }
}

Siehe z.B. Der instanceof-Operator
 
Zuletzt bearbeitet:
Java:
public void tuDinge(Object übergebenesObjekt) {
   if (übergebenesObjekt.instanceOf(Point)) {
        System.out.println("brum,knatter, Auto kaputt");
   }
}
Wenn ich sowas sehe frage ich mich immer, warum die Entwickler von Java sich die Mühe gemacht haben, überladen von Methoden zu ermöglichen...
Java:
public void tuDinge(Object übergebenesObjekt) {
}
public void tuDinge(Point übergebenesObjekt) {
        System.out.println("brum,knatter, Auto kaputt");
}
Wobei natürlich auch immer der Verdacht im Raum steht, dass das, was Du da tun willst eigentlich nicht mehr OOP ist.

bye
TT
 
Java:
public void tuDinge(Object übergebenesObjekt) {
}
public void tuDinge(Point übergebenesObjekt) {
        System.out.println("brum,knatter, Auto kaputt");
}
Wobei natürlich auch immer der Verdacht im Raum steht, dass das, was Du da tun willst eigentlich nicht mehr OOP ist.

bye
TT

Die Aussage möchte ich gern hervorheben.
Wieso spendierst du deiner Auto - Klasse keine Methode "tuDinge"?

Wenn man sich Gedanken macht und gut OO-Programmiert kann man sich instanceof eigentlich so gut wie immer sparen.

Aber das nur so am Rande.
 

Neue Themen


Zurück
Oben