Nochmal: instanceof
-
314159265358979 schrieb:
instanceof funktioniert eben nur mit 2 Operanden, die hierarchisch verwandt sind.
Also muss ich doch schon was über das Objekt wissen? Mhhmmm....ok
LG, freakC++
-
2 x-beliebige Operanden vergleichen ergibt ja auch keinen Sinn. Das würde ja immer false ergeben.
-
freakC++ schrieb:
Also muss ich doch schon was über das Objekt wissen? Mhhmmm....ok
LG, freakC++
Wen du den Code
class A { // Irgendwas } class B { // Irgendwas }
hast, dann ist der Code
A a = new A(); if ( a instanceof B ) { // Mach was }
nicht sinnvoll, da dies nicht zur Laufzeit sondern bereits zur Compile-Zeit entschieden werden kann.
-
314159265358979 schrieb:
instanceof funktioniert eben nur mit 2 Operanden, die hierarchisch verwandt sind.
Nicht mir irgendwelchen beliebigen Interfaces? Wenn eine Klasse zwei Interfaces implementiert und ich eine mit dem einen Interface getypte Referenz habe, sollte ich auf das andere Interface umcasten können.
-
Mit Interfaces funktioniert es, nicht aber mit Klassen.
http://ideone.com/jvtch
-
Das ist klar.
-
Warum fragst du dann nach?
-
... siehts denn mit isAssignableFrom() aus java.reflect.Class
Bsp:
? x = getAnyObject(); if (x.getClass().isAssignableFrom(String.class)) { // wird ausgeführt wenn x eine Subklasse von String ist. }
das ist doch das was der "freak" scuht..
peac out
-
314159265358979 schrieb:
Warum fragst du dann nach?
Klar ist das, was du unverständlichweise noch hinzugefügt hast: Dass es mit Klassen nicht funktionieren würde.
-
Und du hast unverständlicherweise nicht den Teil gequotet, auf den du dich bezogen hast.
-
Ich bin davon ausgegangen, dass das klar ist.