Come determinare la classe di un oggetto?

Se la classe B e la classe C estendono la classe A e io ho un oggetto di tipo B o C, come posso determinare di quale tipo è un'istanza?

Soluzione
if (obj instanceof C) {
//your code
}
Commentari (6)

Usa Object.getClass(). Restituisce il tipo di runtime dell'oggetto.

Commentari (3)

Si può usare:

Object instance = new SomeClass();
instance.getClass().getName(); //will return the name (as String) (== "SomeClass")
instance.getClass(); //will return the SomeClass' Class object

HTH. Ma penso che la maggior parte delle volte non sia una buona pratica usarlo per il flusso di controllo o qualcosa di simile...

Commentari (1)