Frage

Viele Sprachen haben eine Möglichkeit, um zu überprüfen, ob ein Objekt eines bestimmten Typs ist (einschließlich der Mutterunterklassen), umgesetzt mit ‚ist‘ und wie folgt verwendet:

if(obj is MyType)

oder mehr ermüdend leicht können Sie in anderen Sprachen überprüfen, indem Sie das ‚als‘ Keyword mit einer weichen Typumwandlung zu tun und zu sehen, ob das Ergebnis null.

Ich habe nicht Java in Jahren und ich bin immer wieder nach oben auf ihn zu beschleunigen, aber sicher Java hat einen Weg leicht, dies zu tun, ohne tief in die Reflection-APIs einzutauchen?

Vielen Dank im Voraus für die Antworten. Ich gesucht sowohl hier als auch an anderen Orten, aber die beteiligten Schlüsselwörter sind so allgemein, dass, obwohl ich bin sicher, dass dies eine einfache Antwort hat, denn es googeln hart ist.

War es hilfreich?

Lösung

if (objectReference instanceof type){
    //Your code goes here
}

Weitere Informationen hier .

Andere Tipps

Sie können nur instanceof mit einer Klasse wörtlichen verwenden: das heißt:

Class type = String.class;

if (myObj instanceof String) // will compile

if (myObj instanceof type) //will not compile

Die Alternative ist die Methode Class.isInstance verwenden

if (type.isInstance(myObj)) // will compile

obj instanceof TargetType true zurück, nur für den Fall TargetType ist in der Typenhierarchie, die obj enthält.

Siehe Suns Tutorial

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top